问题
(node:6808) DeprecationWarning: collection.ensureIndex is deprecated. Use createIndexes instead.报错警告
解决
- 该报错其实是MongoDB的一个弃用警告。
- 直接在连接数据库时,加入**mongoose.set(‘useCreateIndex’, true)**即可。
- 解决代码:
//连接数据库
mongoose.set('useCreateIndex', true) //解决问题代码
mongoose.connect(db)
分析
useCreateIndex选项
- 如果在Mongoose模式中定义索引,则会看到该弃用警告。
- 默认情况下,Mongoose 5.x调用MongoDB驱动程序的ensureIndex()函数。
- MongoDB驱动程序不赞成使用此函数createIndex()。
- 设置useCreateIndex全局选项以选择使用Mongoose createIndex()。
解决方案:
- mongoose.set(‘useCreateIndex’, true);
- mongoose.connect(uri, {useCreateIndex: true });