如果我拨打findAndModify,并且文档与查询匹配,但现有文档包含 doc 不包含的字段,那么旧字段仍会存在于新文档中,还是会被删除?
我检查了findAndModify docs,答案并不明显。尝试一下,旧文档中不在新文档中的字段似乎被删除 - 因为这涉及丢失数据,并且没有任何明确的关于这是文档,我不确定这是否是预期的行为
答案 0 :(得分:5)
findAndModify
的行为与update
完全相同。这意味着数据库中的文档将完全被您提供的文档替换,除非您使用明确修改文档的$set
或$push
等运算符。
顺便说一句:当node.js特定文档过于简短时,the general manual中模拟命令的描述通常要详细得多。