mongoose options usecreateindex,usefindandmodify are not supported 에러 해결 방법

2021. 11. 4. 18:42MongoDB, Mongoose

mongoose를 다른 프로젝트를 진행하려고 전에 설정 한 것과 똑같이 다시 설정을 하고 실행을 하는데 이런 오류가 발생했다. 

원인은 mongoose가 6.0 버전 이상이 되어 디폴트로 지원해주는 값이 있어 오류가 발생했다.

 

useNewUrlParser: true,

useUnifiedTopology: true,

useCreateIndex: true,

useFindAndModify: false

의 설정값을 지워 주고 실행 해주면 된다.

 

디비연결 할때

const mongoose = require('mongoose')
module.exports = () => {
  function connect () {
    mongoose.connect(process.env.DB, { }, (err) => {
      if (err) {
        console.error(err)
      }
    })
  }
  connect()
  mongoose.connection.on('disconnected', connect)
}

로 connect에서 

useNewUrlParser: true,
useUnifiedTopology: true

또는 

models에서 

'use strict'

const mongoose = require('mongoose')
mongoose.set('useFindAndModify', false)
mongoose.set('useCreateIndex', true)
const Schema = mongoose.Schema
const UserSchema = new Schema({
  // 유저 정보
  id: { type: String, unique: true, required: true },
  password: { type: String, required: true },
  nickName: { type: String, unique: true, required: true },
})

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

mongoose.set('useFindAndModify', false)
mongoose.set('useCreateIndex', true)

를 넣어준 부분이 이제 디폴트로 지원이되어 지워 주어야한다. 

 

mongoose.set('useFindAndModify', false)
mongoose.set('useCreateIndex', true)

 

 

값을 넣지않아도 이제 6.0.0버전 이상부터 디폴트로 들어가게되어 오류가 발생한다.

mongoose를 설정 할 때 참고하자 

 

 

출처 : https://velog.io/@lee951109/MongoDB-MongoParseError-options-usecreateindex-usefindandmodify-are-not-supported

728x90
반응형