[node.js] docker 를 활용한 mongodb 실행 및 node.js 로 mongodb 연동하기

1. Docker 로 mongodb 실행

1) docker-compose.yml 파일 생성

  • volumes 영역에는 외부에 별도로 저장한 db 데이터 경로를 지정한다.

version: '2'

services:
mongodb:
  image: 'bitnami/mongodb:3.6'
  ports:
    - "27017:27017"
  volumes:
    - /Users/db/data:/data/db

2) docker-compose 실행

  • 명령어 : docker-compose up

    $ docker-compose up
    Starting db_mongodb_1_ea510d3ef245 ... done
    Attaching to db_mongodb_1_ea510d3ef245

2. nodes.js 에서 mongodb 연동 후 CRUD(생성, 읽기, 수정, 삭제) 하기

1) mongoose 모듈 설치

  • node.js 에서 mongodb 를 활용하려면 mongoose 모듈 설치가 필요하다.

    npm install mongoose --save

2) mongoose 모듈 로드 및 연결

const mongoose = require('mongoose')

mongoose.connect('mongodb://localhost:27017/playgroud')
.then( () => console.log('Connected to MongoDB ... '))
.catch( err => console.error('Could not connect to MongoDB ... '))

3) Schema 및 Class, Obejct 정의 후 저장

  • node.js 에서 사용할 mongodb 데이터의 schema(형식) 을 정의한다.

    const courseSchema = new mongoose.Schema({
      name : String,
      author : String,
      tags : [ String ],
      date : { type: Date, default: Date.now },
      isPublished : Boolean
    })

    const Course = mongoose.model('Course', courseSchema)
    const course = new Course({
      name : "Node.js Course",
      author : "Mosh",
      tags : ['node', 'backend'],
      isPublished : true
    })
    const result = await course.save();


다른 카테고리의 글 목록

node.js 카테고리의 포스트를 톺아봅니다