通过使用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
更新:
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
option已弃用,并由projection
option 代替。
您将不得不等待猫鼬在其末端进行更改,以将场选项替换为投影。该修复程序计划于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写方法findAndModify
都使用mongodb本机驱动程序中已弃用的方法。
用于mongoose.set('useFindAndModify', false);
使mongooose
findOne*
在mongodb本机驱动程序上调用适当的方法。
对于remove
和分别update
用delete*
和update*
方法替换这些调用。
用于分别save
用insert*
/ update*
方法替换这些调用。
问题内容: 我刚刚更新到Django v1.8,并在更新项目之前测试了本地设置,并且发出了弃用警告,这是我从未见过的,对我也没有任何意义。我可能只是忽略了某些内容或误解了文档。 现在,这对我提出了3个问题。 根据文档,Options.app_label除非模型不在应用程序模块之外,否则不是必需的,在我看来,不是这样。其次,无论如何,此行为在1.7中已被弃用,那么为什么它甚至成为问题? 这些应用程序
问题内容: 我有一个React组件,我想在单击时切换一个CSS类。 所以我有这个: 这个问题是ESLint不断告诉我“ this.refs”已贬值。 我该怎么办?我如何解决它而不使用折旧的代码? 问题答案: 您要引用的Lint规则称为 no-string-refs, 并通过以下方式警告您: 之所以收到此警告,是因为已实现了不赞成使用的使用方式(通过使用字符串)。根据您的React版本,您可以执行以
我刚刚更新到rails 4.0.2,我收到了这个警告: [已弃用]我18n.enforce_available_locales将来会默认为true。如果您真的想跳过区域设置的验证,您可以设置I18n.enforce_available_locales=false以避免此消息。 将其设置为false是否存在任何安全问题?
我正在使用scikit-learn 0.14的GridSearchCV,但总是得到以下警告: /Library/Frameworks/epd 64 . framework/Versions/7.2/lib/python 2.7/site-packages/sk learn/grid _ search . py:706:deprecation warning:忽略GridSearchCV的附加参数!
我的项目正在迁移到视图绑定,但与此同时,在查看构建日志时,此警告会分散注意力 警告:“kotlin android extensions”Gradle插件已弃用。请使用本迁移指南(https://goo.gle/kotlin-android-extensions-deprecation)开始使用视图绑定的步骤(https://developer.android.com/topic/librarie
JDK 10 版本已弃用 Java 库中的多个 API、特性和选项。以下是相关情况。 不推荐使用 SNMP 监控支持: 现在不推荐使用支持 JVM 的 SNMP 监控和管理支持的 jdk.snmp 模块,并标记为 forRemoval=true。 java.security classes 已弃用:java.security.{Certificate, Identity, IdentityScop