『解疑』(node:6808) DeprecationWarning: collection.ensureIndex is deprecated. Use createIndexes instead.

问题

(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()。

解决方案:

  1. mongoose.set(‘useCreateIndex’, true);
  2. mongoose.connect(uri, {useCreateIndex: true });

参考:
Mongoose解决MongoDB弃用警告(DeprecationWarning)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值