修改文档
在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()。