[mongoose](1) - local에 연결하기

GONI·2021년 9월 25일
0
post-thumbnail

Altas를 통해 MongoDB를 무료로 데이터베이스를 연결하여 사용할 수 있다. 하지만 데이터베이스가 필요한 토이 프로젝트가 많아지고 각각의 프로젝트에 MongoDB를 연결하는 것은 매우 귀찮은 일이 아닐 수 없다
(수십 개의 구글 계정을 가지고 있다면 예외...)

따라서 우리는 mongoose를 통해 local에서 직접 DB를 연결하는 것을 통해 좀 더 간편하게 데이터베이스를 다룰 수 있다.

🖐 빠르게 실행해보도록 하자...!


1. mongoose 연결

node환경에서 app.js 또는 index.js의 파일에 아래 코드를 사용하여 mongoose를 local에 연결해 주자.

const mongoose = require('mongoose')
 
mongoose.connect('mongodb://localhost:27017/test, {
  useNewUrlParser: true,
  useUnifiedTopology: true
})
 
const db = mongoose.connection;
db.on("error", console.error.bind(console, "connections error:"))
db.once("open", () => {
  console.log("Database connected");
})

이 때 옵션 관련 에러가 발생할 경우, 로그에 나타난 에러에 따른 옵션을 추가해주면 된다. (아래와 같은 옵션)

useNewUrlParser: true,
useUnifiedTopology: true

2. Model Schema 생성

model/User.js 파일에서

const Mongoose = require("mongoose")
 
const Schema = Mongoose.Schema
 
const UserSchema = new Schema({
  email: {
    type: String,
    required: true
  },
  password: {
    type: String,
    required: true
  }
})
 
module.exports = mongoose.model("User", UserSchema)

이 때 collection 이름은 DB이름에 자동으로 s가 붙어서 생성된다. collection 이름을 직접 지정하고 싶다면

const UserSchema = new Schema({
  ...
}, {collection: "mycollection"})

위 코드처럼 속성을 추가해 주면 된다.


3. Model 생성

const newUser = new User({
  email: "test@gmail.com", 
  password: "test123"
})

모델 생성 후 우리가 원하는 기능을 구현해 주면 된다.


4. 서버 종료

mongoose.connection.close()

테스트 데이터에 대한 DB Seeding 작업을 한 후 바로 서버를 종료할 때 사용하면 편리하다.

profile
오로지 나의 기억력을 위한 일지

0개의 댓글