Node.js 将Mongoose.connect与useUnifiedTopology选项一起使用时,返回的承诺不';我没发现错误

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

这是我试图运行的代码。Mongo守护进程(mongod)没有运行,所以我希望在catch块中得到错误,但我没有。代码完全忽略catch块

Mongoose v5.7.13,节点v12.13.0

但是,只要我删除
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));;