这个错误从何而来?ensureIndex或者createIndex在我的 Nodejs 应用程序中的任何地方。

这是我的代码index.js

import express from 'express';
import path from 'path';
import bodyParser from 'body-parser';
import mongoose from 'mongoose';
import Promise from 'bluebird';

dotenv.config();
mongoose.Promise = Promise;
mongoose.connect('mongodb://localhost:27017/bookworm', { useNewUrlParser: true });

const app = express();

答案

问题是猫鼬仍然使用 collection.ensureIndex 并且应该在不久的将来由他们更新。npm 安装 [email protected]):

“猫鼬”:"^5.2.8"

**EDIT:**截至本次编辑,Mongoose 现在版本为 v5.4.13。

mongoose.set('useNewUrlParser', true);
mongoose.set('useFindAndModify', false);
mongoose.set('useCreateIndex', true);

将 update() 替换为 updateOne()、updateMany() 或 ReplaceOne()

将remove() 替换为deleteOne() 或deleteMany()。

将 count() 替换为 countDocuments(),除非您想计算整个集合中有多少文档(无过滤器)。

来自: stackoverflow.com