개발새발 로그

3. MERN기반 커뮤니티 - Mongoose Model 본문

MERN

3. MERN기반 커뮤니티 - Mongoose Model

이즈흐 2023. 6. 13. 23:28

몽고DB는 Nosql이지만 몽고DB만의 규칙이 따로 있다.

서버에서 몽고DB에 데이터를 넣을려면 Mongoose Model을 생성해줘야한다. 

 

1. mongoose 모델을 작성할 폴더와 파일을 생성해줘야한다.

 ->sever폴더에 Model/Post.js 을 만들어준다.

2. Mongoose 공식사이트에서 사용법을 가져온다.

https://mongoosejs.com/docs/index.html

 

Mongoose v7.2.4: Getting Started

First be sure you have MongoDB and Node.js installed. Next install Mongoose from the command line using npm: $ npm install mongoose --save Now say we like fuzzy kittens and want to record every kitten we ever meet in MongoDB. The first thing we need to do

mongoosejs.com

위 사용법 처럼 Post.js에 작성해주면된다.

Post.js

const mongoose = require('mongoose');
//몽구스 모델 만들기
const PostSchema = new mongoose.Schema({
    title :String,
    content : String,

},{collection:"Posts"});//콜렉션이름 정해줄 수 있음

const Post = mongoose.model('Post', PostSchema );

module.exports = {Post};//export해줘야 index.js에서 사용가능

3. server/index.js 서버에서 만든 몽구스 모델로 몽고DB에 데이터를 넣어야한다.

4. 먼저 만든 몽구스 모델을 가져온다.

//만든 몽구스모델을 불러온다.
const {Post} = require('./Model/Post');

 

5. 만든 몽구스 모델을 형식을 토대로 보내줄 데이터를 만들고 save()통해 몽고DB에 전송해준다.

//몽고DB에 데이터 넣는 법
app.post("/api/test",(req,res)=>{
    const CommunityPost= new Post({ title: "test",content :"테스트입니다." });
    CommunityPost.save().then(()=>{
        res.status(200).json({success:true});
    })
    
})

클라이언트에서 axios요청을하면 아래와 같이 몽고DB에 데이터가 잘들어온다.

 

 

추가적인 내용

1. 몽고DB에서 데이터베이스 이름을 바꾸려면 아래의 코드를 바꾸면된다.

2. collection이름을 설정하려면 몽구스모델에서 아래부분을 바꿔주면 된다.

 

728x90
반응형
LIST