node.js - MongoDB findAndModify 对旧文档中的字段而不是更新后的文档中的字段执行什么操作?

标签 node.js mongodb node-mongodb-native

如果我打电话findAndModify ,并且文档与查询匹配,但现有文档具有文档没有的字段,旧字段是否仍存在于新文档中,还是会被删除?

我检查了findAndModify docs答案并不明显。尝试一下,旧文档中不在新文档中的字段似乎被删除了 - 因为这涉及丢失数据,并且文档中没有明确说明这一点,我不确定这是否是预期的行为。

最佳答案

findAndModify行为与 update 完全相同。这意味着数据库中的文档将完全被您提供的文档替换,除非您使用像$set这样的运算符。或$push它显式修改文档。

顺便说一句:当node.js特定的文档太简短时,the general manual中模拟命令的描述通常更加详细。

关于node.js - MongoDB findAndModify 对旧文档中的字段而不是更新后的文档中的字段执行什么操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19767482/

相关文章:

node.js - N个node.js进程之间的通信

javascript - 根据字符串数组重新排序对象数组?

c# - 使用 C# 或 Linq 对 MongoDB 和 SQL 使用相同的语法

python - 查询 MongoDB 中不包含某些字段的列表

javascript - JS : Async/await doesn't seem to wait for result in a loop

node.js - Node native 驱动程序导致查询内部查询失败

node.js - Express JS hello world 示例中出现意外的 Token 错误

node.js - 如何让 bit 忽略依赖文件?

node.js - Node mongodb-native 或 Mongoose

node.js - Express.js - 在 URL 中过滤一个 mongodb id