弃用警告
在 MongoDB Node.js 驱动程序 中有几个弃用,Mongoose 用户应该注意。Mongoose 提供了绕过这些弃用警告的选项,但您需要测试这些选项是否会对您的应用程序造成任何问题。请 在 GitHub 上报告任何问题。
摘要
要修复所有弃用警告,请按照以下步骤操作
- 在
findOneAndUpdate()
、findOneAndReplace()
、findOneAndDelete()
调用中,将rawResult: true
替换为includeResultMetadata: true
。
阅读以下内容,以更详细地了解每个弃用警告。
rawResult
从 Mongoose 7.4.0 开始,findOneAndUpdate()
的 rawResult
选项已弃用。您应该改用 includeResultMetadata
选项,这是 MongoDB Node.js 驱动程序的新选项,它取代了 rawResult
。
// Replace this:
const doc = await Test.findOneAndUpdate(
{ name: 'Test' },
{ name: 'Test Testerson' },
{ rawResult: true }
);
// With this:
const doc = await Test.findOneAndUpdate(
{ name: 'Test' },
{ name: 'Test Testerson' },
{ includeResultMetadata: true }
);
rawResult
选项只影响 Mongoose;MongoDB Node.js 驱动程序仍然返回完整的結果元數據,Mongoose 只會解析出原始文檔。includeResultMetadata
选项还会告诉 MongoDB Node.js 驱动程序只返回文档,而不是完整的 ModifyResult
对象。