在MongoDB中,db.collection.ipdate()和db.collection.save()方法都可以修改集合中已存在的文档。db.collection.update()方法对修改提供额外的控制。例如,db.collectoin.update()修改已存在数据或一组匹配查询条件的文档。而db.collection.save()方法根据相同的_id替换一个已存在文档。
使用update()方法修改多个文档:
默认,update()方法更新一条满足条件的文档。调用方法时将multi选项设置为true可修改多个文档。下面的例子修改所有type字段值为“book”的文档的qty字段增加-1。例子中使用$inc,这是一个修改操作符变量。
复制代码 代码如下:
db.inventory.update(
{ type : "book" },
{ $inc : { qty : -1 } },
{ multi: true }
)
使用save()方法修改一个文档:
save()方法替换一个已存在的文档。使用save()方法替换一个文档,方法通过_id字段匹配一个已存在文档。下面的例子完全替换inventory集合中_id为10的文档:
复制代码 代码如下:
db.inventory.save(
{
_id: 10,
type: "misc",
item: "placard"
}
)