MongoDB修改数据的2种方法

时间:2022-04-20 21:22:42

在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"
   }
)