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

mik*_*ana 0 mongodb node.js node-mongodb-native

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

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

Phi*_*ipp 5

findAndModify表现得很像update.这意味着数据库中的文档将完全被您提供的文档替换,除非您使用类似$set$push明确修改文档的运算符.

顺便说一句:当node.js特定文档太简短时,通用手册中模拟命令的描述通常要详细得多.