MongoDB findAndModify对旧文档中的字段做了什么,但没有更新的文档?

时间:2013-11-04 12:10:04

标签: node.js mongodb node-mongodb-native

如果我拨打findAndModify,并且文档与查询匹配,但现有文档包含 doc 不包含的字段,那么旧字段仍会存在于新文档中,还是会被删除?

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

1 个答案:

答案 0 :(得分:5)

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

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