开发学院

您的位置:首页>教程>正文

教程正文

MongoDB 更新文档

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":"Tutorials Point Overview"}

  下面的例子会把title为MongoDB Overview的值更新为New MongoDB Tutorial。

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

  默认情况下,MongoDB值更新一个文档,如果要更新多个文档你需要把参数multi设置为true。

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

MongoDB的Save()方法

  MongoDB的save()方法会以save()方法传递的文件取代现有文件

语法

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

例子

  下面的例子会替换id为5983548781331adf45ec7的文档。

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