[NodeJS] Setting MongoDB

이애진·2022년 7월 14일

Node

목록 보기
10/12
post-thumbnail

step1. install module

"dependencies": {
    "dotenv": "^16.0.0",
    "express": "^4.17.2",
    "mongoose": "^6.2.1"
}

step2. configuration MongoDB

const mongoose = require("mongoose");

const { MONGO_INITDB_DATABASE, MONGO_INITDB_ROOT_USERNAME, MONGO_INITDB_ROOT_PASSWORD } = process.env;
const MONGO_URL = `mongodb://${MONGO_INITDB_ROOT_USERNAME}:${MONGO_INITDB_ROOT_PASSWORD}@mongo:27017/${MONGO_INITDB_DATABASE}?authSource=admin&authMechanism=SCRAM-SHA-1`

module.exports = () => {
    mongoose.connect(MONGO_URL, {
        useNewUrlParser: true,
        useUnifiedTopology: true
    }).then(() => {
        console.log("MongoDB Connected");
    }).catch(err => {
        throw new Error(err);
    });
}

step3. create Schema

const mongoose = require("mongoose");
const Schema = mongoose.Schema;

const TaskSchema = new Schema({
    title: {
        type: String
    },
    description: {
        type: String
    },
    date: {
        type: String
    }
});

module.exports = mongoose.model("task", TaskSchema);

여기서 만든 스키마는 resolver에서 쓰인다

mongoose.model 에는 파라미터 값으로 collection name과 schema가 들어가는데,
collection name을 단수 표현으로 쓰면 알아서 복수 표현으로 변환해준다


step4. running server

const express = require("express");
require("dotenv").config();

const app = express();
const port = process.env.PORT || 5000;

const dbConnect = require("./config/db");

app.listen(port, () => {
    console.log(`Server Running on ${port} port`);
    dbConnect();
}).on("error", err => {
    throw new Error(err);
});
profile
Frontend Developer

0개의 댓글