npm i mongoose
한방으로 해결//db.js
import mongoose from "mongoose";
mongoose.connect("mongodb://127.0.0.1:27017/wetube", {
useNewUrlParser: true,
useUnifiedTopology: true,
});
// 아래 : DB의 event를 listen 하기
const db = mongoose.connection;
const handleOpen = () => console.log("connected to DB");
const handleError = (error) => console.log("DB Error", error);
db.on("error", handleError); // on은 여러번 발생할수 있음 - error가 발생할때 실행
db.once("open", handleOpen); //once는 딱 한번만 발생함 - 서버가 열릴때 실행
mongoose.connect()
의 첫 인자는 내 mongoDB의 주소다.
mongoDB를 설치하고 cmd창에 mongo를 입력하면 값을 확인할 수 있다. (? 전까지의 값을 copy한다.)
// server.js
import "./db"; //server에 DB를 연결
import "./models/Video"; //DB를 mongoose와 연결시켜서 video model을 인식시킨다.
import express from "express";
...
//Video.js in models file
import mongoose from "mongoose";
import videoRouter from "../routers/videoRouter";
//define shape of model
const videoSchema = new mongoose.Schema({
title: String,
description: String,
createdAt: Date,
hashtags: [{ type: String }],
meta: {
views: Number,
rating: Number,
},
});
const Video = mongoose.model("Video", videoSchema);
export default Video; // 이렇게 model을 컴파일하고 server.js에서 필요할때 사용하도록함