MongoDB:更新文档(如果此文档不存在则创建一个然后更新)

时间:2016-08-03 19:50:06

标签: mongodb pymongo

我想更新与“id”匹配的文档(推送json对象),但如果该文档不存在,请创建一个(具有相同结构),然后对该文档进行相同的更新(推送)

2 个答案:

答案 0 :(得分:1)

您可以将update命令与upsert选项一起使用:

db.yourCollection.update({id:xxx}, {id:xxx, field1:yyy, field2:zzz}, {upsert:true})

第一个参数是搜索查询,应该在唯一索引字段上完成。第二个是要插入/更新的实际文档,第三个是告诉它执行upsert。

答案 1 :(得分:0)

  

db.yourCollection.update({id:xxx},{id:xxx,field1:yyy,field2:zzz},   {UPSERT:假})

upsert is a Optional. If set to true, creates a new document when no document matches the query criteria. If set to false, which does not insert a new document when no match is found.