MongoDB

[MongoDB] DeprecationWarning

문앵 2022. 11. 8. 15:04

1. DeprecationWarning: `open()` is deprecated in mongoose >= 4.11.0, use `openUri()` instead, or set the `useMongoClient` option if using `connect()` or `createConnection()`. See http://mongoosejs.com/docs/4.x/docs/connections.html#use-mongo-client

 

Mongoose Connecting to MongoDB v4.13.20

Connections You can connect to MongoDB with the mongoose.connect() method. mongoose.connect('mongodb://localhost/myapp'); This is the minimum needed to connect the myapp database running locally on the default port (27017). If the local connection fails th

mongoosejs.com

 

 

- mongoose가 버전 업 되면서 , 기존에 mongoose를 이용해 mongoDB를 연결할때 useMongoClient 옵션을 넣어야지만 mongoose를 인증하는것으로 바뀜. 이유는 ? 자세히 나와있는곳을 찾지 못했음. 그런데 어떤 외국인이 본인 블로그에 뇌피셜, 연결과 인증이 원래는 별개의 과정이었는데 버전 업되면서 이것들을 통합 하는 과정에서 저 옵션이 생겨났다고 하고 있음.

 

결론 : 버접 업그레이드 되면서 mongoose를 이용한 mongoDB 연결시 옵션이 필수가 되었다.

 

 

 

2. DeprecationWarning: Mongoose: mpromise (mongoose's default promise library) is deprecated, plug in your own promise library instead: http://mongoosejs.com/docs/promises.html

 

Mongoose v6.7.2: Promises

Mongoose async operations, like .save() and queries, return thenables. This means that you can do things like MyModel.findOne({}).then() and await MyModel.findOne({}).exec() if you're using async/await. You can find the return type of specific operations i

mongoosejs.com

- 몽고디비에서 지원해주던 기존 promise가 deprecate되어서 Promise 객체를 전역의 객체를 사용하도록 해주면 됨.

-

mongoose.Promise = global.Promise;

 

반응형