[MongoDB] MongoParseError: options usecreateindex, usefindandmodify are not supported

skoh·2023년 1월 26일
0

■ 에러코드

const mongoose = require('mongoose')
mongoose.connect('mongodb+srv://username:<password>@boilerplate.vx1luhi.mongodb.net/?retryWrites=true&w=majority', {
    useNewUrlParser: true, useUnifiedTopology: true, useCreateIndex: true, useFindAndModify: false
}).then(() => console.log('MongoDB Connected...'))
  .catch(err => console.log(err))

■ 해결방법

버전 6 이상에서는 해당 옵션들이 지원되지 않는다고 한다.
useNewUrlParser
useUnifiedTopology
useCreateIndex
useFindAndModify

아래와 같이 이 옵션들을 지우고 실행하면 에러 없이 잘 된다.

const mongoose = require('mongoose')
mongoose.connect('mongodb+srv://username:<password>@boilerplate.vx1luhi.mongodb.net/?retryWrites=true&w=majority')
	.then(() => console.log('MongoDB Connected...'))
 	.catch(err => console.log(err))

이렇게 했을 때,
아래와 같은 오류가 뜬다면

[MONGOOSE] DeprecationWarning: Mongoose: the strictQuery option will be switched back to false by default in Mongoose 7.

아래의 코드를 추가해보자.

mongoose.set('strictQuery', false)

const mongoose = require('mongoose')
mongoose.set('strictQuery', false) //여기에 추가!!
mongoose.connect('mongodb+srv://username:<password>@boilerplate.vx1luhi.mongodb.net/?retryWrites=true&w=majority')
	.then(() => console.log('MongoDB Connected...'))
	.catch(err => console.log(err))

0개의 댓글