热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

MongoDBmongoosecollection.find选项弃用警告

如何解决《MongoDBmongoosecollection.find选项弃用警告》经验,为你挑选了2个好方法。

在使用collection.find我查询文档时,我开始在控制台中收到以下警告

DeprecationWarning:不推荐使用collection.find选项[fields],将在以后的版本中删除

我为什么看到这个,我该如何解决这个问题?(可能的选择)

编辑:查询已添加

Session
        .find({ sessionCode: '18JANMON', completed: false })
        .limit(10)
        .sort({time: 1})
        .select({time: 1, sessionCode: 1});

猫鼬版本5.2.9



1> user2683814..:

更新:

5.2.10已发布,可从此处下载.

使用mongoose.set('useCreateIndex', true);mongooose createIndex在mongodb本机驱动程序上调用该方法.

有关文档的更多信息,请查看页面 https://mongoosejs.com/docs/deprecations

有关该问题及其修复的更多信息, 请访问https://github.com/Automattic/mongoose/issues/6880

原答案:

Mongoose 5.2.9版本将本机mongodb驱动程序升级到3.1.3,其中添加了更改以在调用不推荐使用的本机驱动程序方法时抛出警告消息.

fields选项已弃用,并替换为projection选项.

您将不得不等待mongoose在其末尾进行更改以使用投影替换fields选项.该修复程序计划在5.2.10发布.

暂时你可以回到5.2.8,这将取消所有弃用警告.

npm install mongoose@5.2.8

对于所有其他已弃用的警告,您必须逐个处理它们.

使用其他收集方法时,您将看到其他弃用警告.

DeprecationWarning: collection.findAndModify is deprecated. Use findOneAndUpdate, findOneAndReplace or findOneAndDelete instead.
DeprecationWarning: collection.remove is deprecated. Use deleteOne, deleteMany, or bulkWrite instead.
DeprecationWarning: collection.update is deprecated. Use updateOne, updateMany, or bulkWrite instead.
DeprecationWarning: collection.save is deprecated. Use insertOne, insertMany, updateOne, or updateMany instead.
DeprecationWarning: collection.ensureIndex is deprecated. Use createIndexes instead.

findOne*默认情况下,所有mongoose write方法findAndModify都使用mongodb本机驱动程序中不推荐使用的方法.

使用mongoose.set('useFindAndModify', false);mongooose findOne*在mongodb本机驱动程序上调用适当的方法.

对于removeupdate更换这些电话delete*update*分别的方法.

用于分别saveinsert*/ update*方法替换这些调用.



2> 小智..:
mongoose.connect('your db url', {
  useCreateIndex: true,
  useNewUrlParser: true
})

要么

mongoose.set('useCreateIndex', true)
mongoose.connect('your db url', { useNewUrlParser: true })


虽然这可能会回答作者的问题,但它缺少一些解释性文字和/或文档链接.如果没有一些短语,原始代码片段就不是很有用.你也可以找到[如何写出一个好的答案](/sf/ask/17360801/)非常有帮助.请编辑你的答案.
推荐阅读
  • 十大经典排序算法动图演示+Python实现
    本文介绍了十大经典排序算法的原理、演示和Python实现。排序算法分为内部排序和外部排序,常见的内部排序算法有插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。文章还解释了时间复杂度和稳定性的概念,并提供了相关的名词解释。 ... [详细]
  • 微信民众号商城/小顺序商城开源项目介绍及使用教程
    本文介绍了一个基于WeiPHP5.0开发的微信民众号商城/小顺序商城的开源项目,包括前端和后端的目录结构,以及所使用的技术栈。同时提供了项目的运行和打包方法,并分享了一些调试和开发经验。最后还附上了在线预览和GitHub商城源码的链接,以及加入前端交流QQ群的方式。 ... [详细]
  • loader资源模块加载器webpack资源模块加载webpack内部(内部loader)默认只会处理javascript文件,也就是说它会把打包过程中所有遇到的 ... [详细]
  • React 小白初入门
    推荐学习:React官方文档:https:react.docschina.orgReact菜鸟教程:https:www.runoob.c ... [详细]
  • 前言:原本纠结于Web模板,选了Handlebars。后来发现页面都是弱逻辑的,不支持复杂逻辑表达式。几乎要放弃之际,想起了Javascript中ev ... [详细]
  • ReactJSUIAnt设计空组件原文:https://w ... [详细]
  • 技术周报·2021-05-07-小编推荐向现代Javascript转型原文标题:Publish,ship,andinstallmodernJavaScriptforfaste ... [详细]
  • 头几天想写个小爬虫顺序,预备后端就用koa2。因而翻遍github与各大网站,都没找到一个好用的、轻一点的koa2脚手架,也找不到一个清楚些的搭建引见。github上的脚手架要么是 ... [详细]
  • 前面刚有AWS开战MongoDB,双方“隔空互呛”,这厢又曝出2亿+简历信息泄露——MongoDB的这场开年似乎“充实”得过分了些。长期以来,作为“最受欢迎的NoSQL数据库”,M ... [详细]
  • JavaScript实现在页面间传值的方法-本文实例讲述了JavaScript实现在页面间传值的方法。分享给大家供大家参考。具体如下:问题如下:在a.html页面中,的 ... [详细]
  • ImgettingabugwithInternetExplorer.Theiframedoesnthavecorrectsizeanditisdisplayedo ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • Vue基础一、什么是Vue1.1概念Vue(读音vjuː,类似于view)是一套用于构建用户界面的渐进式JavaScript框架,与其它大型框架不 ... [详细]
author-avatar
搬地瓜per
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有