Mongoose 디비연결, Model 생성

2020. 5. 26. 20:52MongoDB, Mongoose

디비연결

npm i mongoose 설치 후 

 

Mongoose를 이용하여 db.js에서 DB와 연결 

// ./db/db.js
var mongoose = require('mongoose')

module.exports = () => {
  function connect () {
    var db = mongoose.connection
    db.on('error', function () {
      console.log('Connected to mongod failed!')
    })
    db.once('open', function () {
      console.log('Connected to mongod server')
    })
    mongoose.connect('mongodb://DB유저 이름:' + DB비밀번호 + '@DB주소:호스트번호/해당 DB이름', 
    { useNewUrlParser: true, useUnifiedTopology: true })
  }
  connect()
  mongoose.connection.on('disconnected', connect)
}

 

app.js에서 연결한 디비를 가져옴

// app.js
const db = require('./db/db')

db()

Model 생성

// ./models/user.js
const mongoose = require('mongoose')
mongoose.set('useFindAndModify', false)
mongoose.set('useCreateIndex', true)
const Schema = mongoose.Schema

var UserSchema = new Schema({
  name: String,
  email: { type: String, unique: true },
  password: String,
  date: { type: Date, default: Date.now }
})

mongoose.model('User', UserSchema)
module.exports = mongoose.model('User')

mongoDB에는 users로 collection이 생성된다.

 

스키마 타입은 

 

  1. String
  2. Number
  3. Date
  4. Buffer
  5. Boolean
  6. Mixed
  7. Objectid
  8. Array

자세한 내용은

https://mongoosejs.com/docs/schematypes.html  

 

Mongoose v5.9.16: SchemaTypes

SchemaTypes handle definition of path defaults, validation, getters, setters, field selection defaults for queries, and other general characteristics for Mongoose document properties. You can think of a Mongoose schema as the configuration object for a Mon

mongoosejs.com

 

728x90
반응형