[node.js] docker 를 활용한 mongodb 실행 및 node.js 로 mongodb 연동하기1. Docker 로 mongodb 실행1) docker-compose.yml 파일 생성2) docker-compose 실행2. nodes.js 에서 mongodb 연동 후 CRUD(생성, 읽기, 수정, 삭제) 하기1) mongoose 모듈 설치2) mongoose 모듈 로드 및 연결3) Schema 및 Class, Obejct 정의 후 저장
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' 카테고리의 다른 글
[node.js] AWS SDK사용하여 S3 버킷에 업로드하기 (0) | 2020.04.06 |
---|---|
[node.js] winston version 3기준 node.js 로깅 설정(local timestamp 적용) (0) | 2019.03.04 |
[node.js] node.js 로 생성한 스크립트를 서버 내 daemon 형태로 실행하기 (0) | 2019.03.04 |
[node.js] node.js 로 REST API 구축하기 위해 필요한 모듈 리스트 (0) | 2019.02.21 |
[node.js]node.js 실행 시 events.js:183 throw er; // Unhandled 'error' event 에러가 발생한 경우 (0) | 2018.09.24 |