mongodb - 即使 {new:true} 已通过 findOneAndUpdate 也会返回旧文档
问题描述
const query = { uuid: '12212121212112' };
const values = { $set: {name:'av'} };
const result = await databaseConnection.collection('person');
let data = await result.findOneAndUpdate(query, values, { new: true });
console.log(data) //old document getting printed
这是我的代码。在这里,我正在使用{new: true}
但不知何故它仍然返回旧文档而不是更新的文档。
配置是-
"mongodb": "^3.5.7",
"mongoose": "^5.9.17",
节点版本-v14.17.3
这有什么问题?
PS-在另一个具有相同配置的项目中,它工作正常。
解决方案
试试这个方法...
let result = await db1.updateOne({ _id: 'XXXXXXXXX' }, { $set: { name: 'My name' } }, { returnNewDocument: true });
console.log(result.data.value) //new document getting printed
还要检查这个工作示例
推荐阅读
- web-services - ORDS RESTful oracle-apex - 一种公式化 JSON 响应(POST 方法)
- python - 如何从使用外键链接到另一个元素的元素的数据库中获取值?
- java - 添加了在使用 OpenJDK8 框架时调用 API ClassPathXmlApplicationContext 时遇到的异常问题
- java - 在以下情况下,Java 中三元运算符的真正用途是什么。哪个会更有效率?
- c# - EF Code First - 两列之间的一列不应为空
- android - 如何检查字符串是否具有指定字符?
- android - 单击按钮时从 recyclerview 中删除项目 - Kotlin MVVM Firestore
- angular - TypeError:j.window.matchMedia 不是函数
- python - 循环代码: {x_(n+1) = x_n * r * (1- x_n)}
- kotlin - Kotlin 递归结构