250x250
Notice
Recent Posts
Recent Comments
- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- moment
- double quote
- mongoose
- findByIdAndDelete
- TailwindCSS
- clipBehavior
- atlas
- mongodb
- Node.js
- RDS
- certbot
- AWS
- nginx
- jsonwebtoken
- async
- await
- single quote
- css
- JavaScript
- flutter
- Find
- TypeScript
- EC2
- MYSQL
- Nodejs
- wil
- til
- sequelize
- Express
- https
Link
Archives
기억 휘발 방지소
[Node.js / mongoose] mongoDB에 저장을 해보자 본문
728x90
반응형
데이터를 저장하는 방법에는 두 가지 방법이 있다.
- save()
- create()
📌 Document.save()
먼저 자바스크립트 객체를 만들어줘야한다.
// Post.js
import mongoose from "mongoose";
const postSchema = new mongoose.Schema({
title: String,
description: String,
createdAt: Date,
hashtags: [{ type: String }],
meta: {
views: Number,
rating: Number,
},
});
const Post = mongoose.model("Post", postSchema);
export default Post;
// postController.js
import Post from "../models/JPost";
...
export const upload = async (req, res) => {
const { title, description } = req.body;
const post = new Post({
title: title,
description: description,
createdAt: Date.now(),
hashtags: hashtags.split(",").map((word) => `#${word}`),
meta: {
views: 0,
rating: 0,
},
});
await post.save();
return res.redirect("/");
};
...
브라우저에서 입력받은 값들을 post라는 객체로 만들어준다.
post.save()를 해주면 몽고DB에 저장이된다.
save는 Promise를 반환하기 때문에 callback이나 async/await로 처리할 수 있다.
post를 콘솔에 출력해보면 mongoose가 자동적으로 _id도 부여해주는 것을 볼 수 있다.
{
meta: { views: 0, rating: 0 },
_id: new ObjectId("61482cd803b6b7052d077045"),
title: 'go to DB',
description: 'hello',
createdAt: 2021-09-20T06:40:24.473Z,
__v: 0
}
📌 Document.create()
save를 쓸 때에는 먼저 자바스크립트 객체를 만들어줬어야했는데 create를 사용하면 생략해줄 수 있다.
...
await Post.create({
title: title,
description: description,
createdAt: Date.now(),
meta: {
views: 0,
rating: 0,
},
});
...
📌 DB에 잘 저장되어 있는지 확인해보자
Robo 3T로 확인했을 때 입력한 값들이 정상적으로 DB에 저장되었다!
728x90
반응형
'Database > ODM' 카테고리의 다른 글
[Node.js / mongoose] populate() (0) | 2021.09.28 |
---|---|
[Node.js / mongoose] findByIdAndDelete로 삭제 (0) | 2021.09.21 |
[Node.js / mongoose] findByIdAndUpdate로 수정을 해보자 (0) | 2021.09.21 |
[Node.js / mongoose] findOne, findById로 검색을 해보자 (0) | 2021.09.20 |
[Node.js / mongoose] Model.find() 검색하기 (0) | 2021.09.18 |