MongoDB 1장 - Token
포스트
취소

MongoDB 1장 - Token

Backend

MongoDB

  • NoSQL 데이터베이스이다.
  • MongoDB에 로그인 후 새로운 프로젝트를 만든다.
  • Data Base Access에서 계정을 등록 후 접근 가능한 IP를 작성한다.
    • 개인 IP로만 등록해도 되지만 다른 컴퓨터에서 접근이 가능하도록 하려면 0.0.0.0/0으로 IP를 설정해주면 된다.
  • DataBase => Connect => Drivers => 발급된 URL
  • 개인 앱에 npm install mongoose를 설치하고 연결을 확인한다.
    • 사용자 비밀번호에 특수문자를 작성할 경우 URL에 connect할 때 주솟값을 인식하지 못 하기 때문에 주의한다.
1
2
3
4
mongoose
  .connect("발급된 URL")
  .then(() => console.log("Connect"))
  .catch((err) => console.log(err));

구조

  • MongoDB에는 UserCollection, Documnets, Fields로 이루어져 있다.
  • RDBMS는 Table, Rows, Columns으로 이루어진 것과 같은 구조이다.
    • RDBMS:Table = MongoDB:Collections, RDBMS:Rows = MongoDB:Documents, RDBMS:Columns = MongoDB:Fields

Mongoose

  • Object Data Modeling 라이브러리이다.
  • MongoDB 사용을 위한 기능을 추가하고 더 편리하게 이용하기 위해 사용하는 모듈이다.
  • Mongoose를 이용해 데이터를 만들고 관리하기 위해 Schema를 만들고 스키마로 모델을 만든다.
  • Mongoose는 선택사항이다.

Mongoose 사용법

  • 스키마를 생성하고 모델을 만든다.
  • 모델을 이용해서 데이터를 저장하거나 업데이트, 삭제 등의 작업을 할 수 있다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
const mongoose = require("mongoose");

const productSchema = new mongoose.Schema({
  name: {
    type: String,
    required: true,
  },
  description: {
    type: String,
    required: true,
  },
  price: {
    type: Number,
  },
});

const Product = mongoose.model("Product", productSchema);

module.exports = Products;
  • Schema를 생성 후 mongoose에서 제공하는 constructor함수를 통해 새로운 스키마를 정의해준다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 방법 1
Product.create({
  name: "apple watch",
  description: "cool watch",
  price: 1000,
});

const product = new Product({
  name: "apple watch",
  description: "cool watch",
  price: 1000,
});

product.save();
  • 이렇게 작성하면 MongoDB의 Collections 안에 Documents가 저장된다.

Schema

  • 스키마는 문서(Document)의 구조, 기본값, 유효성 검사기 등을 정의한다.
    • 기본값 => default: 0, 유효성 검사 => required: true
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.