Altas를 통해 MongoDB를 무료로 데이터베이스를 연결하여 사용할 수 있다. 하지만 데이터베이스가 필요한 토이 프로젝트가 많아지고 각각의 프로젝트에 MongoDB를 연결하는 것은 매우 귀찮은 일이 아닐 수 없다
(수십 개의 구글 계정을 가지고 있다면 예외...)
따라서 우리는 mongoose를 통해 local에서 직접 DB를 연결하는 것을 통해 좀 더 간편하게 데이터베이스를 다룰 수 있다.
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
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"})
위 코드처럼 속성을 추가해 주면 된다.
const newUser = new User({
email: "test@gmail.com",
password: "test123"
})
모델 생성 후 우리가 원하는 기능을 구현해 주면 된다.
mongoose.connection.close()
테스트 데이터에 대한 DB Seeding 작업을 한 후 바로 서버를 종료할 때 사용하면 편리하다.