Node.js 将Mongoose.connect与useUnifiedTopology选项一起使用时,返回的承诺不';我没发现错误
这是我试图运行的代码。Mongo守护进程(mongod)没有运行,所以我希望在catch块中得到错误,但我没有。代码完全忽略catch块 Mongoose v5.7.13,节点v12.13.0 但是,只要我删除Node.js 将Mongoose.connect与useUnifiedTopology选项一起使用时,返回的承诺不';我没发现错误,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,这是我试图运行的代码。Mongo守护进程(mongod)没有运行,所以我希望在catch块中得到错误,但我没有。代码完全忽略catch块 Mongoose v5.7.13,节点v12.13.0 但是,只要我删除useUnifiedTopology:true选项,一切都会按预期进行。它进入catch块,我得到了我想要的“无法连接”错误。但我也收到一条警告说 (节点:7834)弃用警告:当前服务器发现和 监视引擎已弃用,将来将被删除 版本要使用新的服务器发现和监视引擎,请通过 MongoClient
useUnifiedTopology:true
选项,一切都会按预期进行。它进入catch块,我得到了我想要的“无法连接”错误。但我也收到一条警告说
(节点:7834)弃用警告:当前服务器发现和
监视引擎已弃用,将来将被删除
版本要使用新的服务器发现和监视引擎,请通过
MongoClient构造函数的选项{useUnifiedTopology:true}
所以我试图理解-这只是一个bug还是使用useUnifiedTopology
有什么目的?试试这个
const mongoose = require("mongoose");
const mongoDB = 'mongodb://localhost/playground';
mongoose.set('useNewUrlParser', true);
mongoose.set('useUnifiedTopology', true);
mongoose.connect(mongoDB).then(() =>
console.log("Connected to mongoDB..."))
.catch(err => console.error(err.message));;
希望有帮助。我不想使用回调,我想利用connect方法返回的承诺。很抱歉,它不起作用。我仍然没有收到错误时,它无法连接,当我试图这样做的承诺。
const mongoose = require("mongoose");
const mongoDB = 'mongodb://localhost/playground';
mongoose.set('useNewUrlParser', true);
mongoose.set('useUnifiedTopology', true);
mongoose.connect(mongoDB).then(() =>
console.log("Connected to mongoDB..."))
.catch(err => console.error(err.message));;