본문 바로가기
Frontend/Project(개인 기록용)

MongoDB(nosql) - Schema

by Johnny_gon 2023. 6. 1.
728x90
반응형

 

MongoDB의 테이블이 없는 단점을 보완하기 위해 mongoose에서 Schema를 도입.

 

사용자가 작성한 스키마를 기준으로 데이터를 DB에 넣기 전에 먼저 검사합니다.

 

스키마 기준에 어긋나는 데이터가 있으면 에러를 발생시킴..

 

 

참조 https://www.zerocho.com/category/MongoDB/post/59a1870210b942001853e250

 

(MongoDB) Mongoose(몽구스) 스키마(Schema)

안녕하세요. 이번 시간에는 몽구스 스키마에 대해 알아보겠습니다. 지난 시간에 몽구스는 스키마가 장점이라고 말씀드렸죠? MySQL같은 SQL에 익숙하신 분들은 처음에 MongoDB나 Redis같은 nosql을 사용

www.zerocho.com

 

 

 

server 작업 코드 

 

계시글로 제목에 title 본문에 content를 줄 예정이라 일단 두개만 정하고 (추후 더 추가 예정)

server안에 Model폴더를 따로 만들어서 Post.js 파일을 따로 만들어 줬습니다.

 
  const mongoose = require("mongoose");

  const postSchema = new mongoose.Schema({
    title: String,
    content: String,
  });

  const Post = mongoose.model("Post", postSchema);

  module.exports = { Post };
 

 

 

서버 메인 파일로 돌아가서 exports한 파일 상단에 추가 해줍니다.

 
  const { Post } = require("./Model/Post");
 

 

 

공식 문서를 참고하여 아래처럼 title과 content에 스키마에서 설정했던 String으로 값을 넣어주고

save()를 해주면..

 
  app.post("/api/test", (req, res) => {
    const TestPost = new Post({ title: "테스트", content: "테스트입니다." });
    TestPost.save()
      .then(() => {
        res.status(200).json({ success: true, text: "server 응답 출력" });
      })
      .catch((err) => {});
  });
 

 

 

 

개발도구창을 확인해 보면

서버에서 보내온 res데이터와 함께 MongoDB에 가서 확인하면 저장된 데이터를 확인할 수 있습니다.😊

 

 

몽고DB 저장된 데이터

 

 

mongoose 공식문서 참조

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

 

Mongoose v7.2.2: 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

 

728x90
반응형