MongoDB - 更新文档

MongoDB的 update() save()方法用于将文档更新到集合中. update()方法更新现有文档中的值,而save()方法用save()方法中传递的文档替换现有文档.

MongoDB Update()方法

update()方法更新现有文档中的值.

语法

 
> db.COLLECTION_NAME.update(SELECTION_CRITERIA,UPDATED_DATA)

示例

考虑mycol集合具有以下数据.

{ "_id" : ObjectId(5983548781331adf45ec5), "title":"MongoDB Overview"}
{ "_id" : ObjectId(5983548781331adf45ec6), "title":"NoSQL Overview"}
{ "_id" : ObjectId(5983548781331adf45ec7), "title":"IT1352 Overview"}

以下示例将设置新标题'标题为'MongoDB Over的文档的新MongoDB教程' view'.

>db.mycol.update({'title':'MongoDB Overview'},{$set:{'title':'New MongoDB IT1352'}})
>db.mycol.find()
{ "_id" : ObjectId(5983548781331adf45ec5), "title":"New MongoDB Tutorial"}
{ "_id" : ObjectId(5983548781331adf45ec6), "title":"NoSQL Overview"}
{ "_id" : ObjectId(5983548781331adf45ec7), "title":"IT1352 Point Overview"}
>

默认情况下,MongoDB只会更新一个文档.要更新多个文档,您需要将参数'multi'设置为true.

 
> db.mycol.update({'title' :'MongoDB Overview'},
 {$ set:{'title':'New MongoDB IT1352'}},{multi:true})

MongoDB Save()方法

save()方法用save()方法中传递的新文档替换现有文档.

语法

MongoDB save()方法的基本语法如下所示 :

 
> db.COLLECTION_NAME.save({_ id:ObjectId(),NEW_DATA})

示例

以下示例将使用_id'5983548781331adf45ec5'替换文档.

>db.mycol.save(
   {
      "_id" : ObjectId(5983548781331adf45ec5), "title":"IT1352 New Topic",
      "by":"IT1352"
   }
)
>db.mycol.find()
{ "_id" : ObjectId(5983548781331adf45ec5), "title":"IT1352 New Topic",
   "by":"IT1352"}
{ "_id" : ObjectId(5983548781331adf45ec6), "title":"NoSQL Overview"}
{ "_id" : ObjectId(5983548781331adf45ec7), "title":"IT1352 Overview"}
>