修改文档

在MongoDB中, db.collection.update()和db.collection.save()方法修改在集合中已存在的文档。db.collection.update()提供了额外的修改控制。例如,您可以用db.collection.update()修改现有的数据或修改一组匹配查询的文档。此外,db.collection.save()替换具有相同_id字段的现有文档。

本文档提供了在mongo命令行下使用两个方法更新操作的例子。

一、用update()方法修改多个文档

默认情况下,update()方法更新与选择条件匹配到单一的文档。用multi选项设置为true调用update()方法来更新多个文档。 [1]

db.inventory.update(
   { type : "book" },
   { $inc : { qty : -1 } },
   { multi: true }
)

更多的例子,请参阅update()。

[1]
这显示了MongoDB 2.2及以后的语法。2.2版本之前的语法,请参阅update()。

二、用save()方法修改一个文档

save()方法可以替换一个现有的文档。替换一个文档用save()方法,用_id字段匹配一个现有的文档来进行修改。

下面的例子完全替换了在inventory集合中_id字段为10的一个文档:

db.inventory.save(
   {
     _id: 10,
     type: "misc",
     item: "placard"
   }
)

进一步的例子,请参阅save()。

京ICP备14008139号-1