我使用猫鼬和蓝鸟。
设置是按照书本进行的,并且正在使用useMongoClient
选项,如通知所要求的那样。
Mongoose.connect(myConnectionString, {useMongoClient: true});
但是我使用的承诺都没有执行。
答案 0 :(得分:1)
我发现这可能是mongoose的错误
回滚mongoose版本后问题消失了npm uninstall -save mongoose
npm install -save mongoose@4.10.8
或您可以删除useMongoClient
选项Mongoose.connect(connectionString);
,并忽略该消息
弃用警告:
open()
在mongoose> = 4.11.0中已弃用,请改用openUri()
,或者如果使用useMongoClient
或connect()
则设置createConnection()
选项}
https://github.com/Automattic/mongoose/blob/master/History.md 显示
希望这有助于某人
答案 1 :(得分:1)
src="html/1.jpg"
我已将此代码用于最新版本并且警告已经消失。请试一试。或者使用旧版本。
答案 2 :(得分:1)
此代码解决了所有弃用警告:
mongoose.Promise = global.Promise;
mongoose.connect(uri, {
keepAlive: true,
reconnectTries: Number.MAX_VALUE,
useMongoClient: true
});
实施例: const mongoose = require(" mongoose");
module.exports.connect = uri => {
mongoose.connect(uri, {
keepAlive: true,
reconnectTries: Number.MAX_VALUE,
useMongoClient: true
});
// plug in the promise library:
mongoose.Promise = global.Promise;
mongoose.connection.on("error", err => {
console.error(`Mongoose connection error: ${err}`);
process.exit(1);
});
// load models
require("./user");
};
答案 3 :(得分:0)
如需进一步阅读,撰稿人可在此处讨论新行为:https://github.com/Automattic/mongoose/issues/5399#issuecomment-312523545