如果我打电话findAndModify ,并且文档与查询匹配,但现有文档具有文档没有的字段,旧字段是否仍存在于新文档中,还是会被删除?
我检查了findAndModify docs答案并不明显。尝试一下,旧文档中不在新文档中的字段似乎被删除了 - 因为这涉及丢失数据,并且文档中没有明确说明这一点,我不确定这是否是预期的行为。
最佳答案
findAndModify
行为与 update
完全相同。这意味着数据库中的文档将完全被您提供的文档替换,除非您使用像$set
这样的运算符。或$push
它显式修改文档。
顺便说一句:当node.js特定的文档太简短时,the general manual中模拟命令的描述通常更加详细。
关于node.js - MongoDB findAndModify 对旧文档中的字段而不是更新后的文档中的字段执行什么操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19767482/