弃用警告
在 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 对象。

