Mongodb 关于update和findAndModify
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mongodb 关于update和findAndModify相关的知识,希望对你有一定的参考价值。
db.collection.update:
修改集合中的现有文档或文档。 该方法可以根据更新参数修改现有文档的特定字段或文档,或者完全替换现有文档。
默认情况下,update()方法更新单个文档。 设置多参数以更新与查询条件匹配的所有文档。
update可以更新多个文档,但是Mongodb只保证单个文档的写入是原子性的。
db.collection.findAndModify(document)
修改并返回单个文档。
当修改单个文档时,findAndModify()和update()方法都将原子地更新文档。
更新文档时,findAndModify()和update()方法的操作方式不同:
默认情况下,两个操作都会修改单个文档。但是,具有多选项的update()方法可以修改多个文档。
如果多个文档与更新条件匹配,对于findAndModify(),您可以指定一种排序来提供对要更新的文档的一些控制措施。
使用update()方法的默认行为,当多个文档匹配时,不能指定要更新的单个文档。
默认情况下,findAndModify()返回文档的预修改版本。要获取更新的文档,请使用新选项。
update()方法返回一个包含操作状态的WriteResult对象。要返回更新的文档,请使用find()方法。但是,其他更新可能已经在更新和文档检索之间修改了文档。此外,如果更新仅修改了单个文档,但是多个文档匹配,则需要使用其他逻辑来标识更新的文档。
以上是关于Mongodb 关于update和findAndModify的主要内容,如果未能解决你的问题,请参考以下文章