mongoDB connection

funco247·2022년 1월 6일
0

Database

목록 보기
1/9

mongoDB & mongoose

  1. mongoDB 설치
  • MAC 설치는 커맨드 몇 줄이면 끝나는데 windows는 그렇지 않다... win10 이상이라면 choco를 사용하자
  • mongoose는 npm i mongoose 한방으로 해결
  1. what is mongoose
  • 몽구스는 node.JS가 몽고디비와 대화할수 있도록 도와주는 도구이다. (JS로 mongoDB를 다루게 해줌)
  1. DB 연결
//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한다.)

  1. server 연결
// server.js
import "./db";  //server에 DB를 연결
import "./models/Video"; //DB를 mongoose와 연결시켜서 video model을 인식시킨다.
import express from "express";
...
  1. model
  • model은 나의 database가 어떻게 생겼는지 설명해주기 위해 만든다 ex) 나의 data에는 title이 있고 string이다.
//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에서 필요할때 사용하도록함
profile
기술을 기술로서 사랑하는 자기개발자

0개의 댓글