弃用警告:`ensureIndex()` 在 Mongoose >= 4.12.0 中已弃用,请改用 `createIndex()`

Kal*_*yap 1 mongoose mongodb

您好,我创建了节点应用程序,它运行良好,但从过去 2 天开始出现此错误,我尝试升级 mongoose,但仍然出现相同错误

弃用警告:ensureIndex()在 Mongoose >= 4.12.0 中已弃用,请createIndex()改用

因此,我的应用程序已停止工作

这是我与 mongodb 连接的代码

mongoose.connect(config.mongo.uri, {useMongoClient: true});
  mongoose.connection.on('error', function (err) {
  console.error(`MongoDB connection error: ${err}`);
  process.exit(-1); // eslint-disable-line no-process-exit 
 });
Run Code Online (Sandbox Code Playgroud)

有没有人提前解决这个问题,thanx。

小智 9

我最终通过遵循官方 mongoose 文档很简单地解决了这个问题。

基本上有一个标志可以通过连接选项,如下所示:

mongoose.connect(dbconfig.database, {
    useCreateIndex: true
});
Run Code Online (Sandbox Code Playgroud)

这删除了弃用警告消息,而无需进一步修改我的代码。