Wechat: yu389741| Email: gisdqy@163.com

Shop:https://www.giserdqy.com/shop

17MongoDB更新文档



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

MongoDB Update()方法

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

语法

update()方法的基本语法如下 –

> db.COLLECTION_NAME.update(SELECTION_CRITERIA, UPDATED_DATA)
Shell

示例

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

> db.mycol.find({}, {'_id':1, 'title':1})
{ "_id" : 100, "title" : "MongoDB Overview" }
{ "_id" : 101, "title" : "MongoDB Guide" }
{ "_id" : 102, "title" : "NoSQL Database" }
{ "_id" : 104, "title" : "Python Quick Guide" }
>
Shell

以下示例将为标题为“MongoDB Overview”的文档设置为“New Update MongoDB Overview”。

> db.mycol.find({'title':'MongoDB Overview'},{'_id':1, 'title':1})
{ "_id" : 100, "title" : "MongoDB Overview" }
> # 更新操作
> db.mycol.update({'title':'MongoDB Overview'},{$set:{'title':'New Update MongoDB Overview'}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> # 查询更新后的结果 -
> db.mycol.find({'_id':100},{'_id':1, 'title':1})
{ "_id" : 100, "title" : "New Update MongoDB Overview" }
>
Shell

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

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

MongoDB Save()方法

save()方法使用save()方法中传递的文档数据替换现有文档。

语法

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

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

以下示例将_id100 的文档使用新的文档替换。

db.mycol.save(
   {
      "_id" : 100, "title":"Update By Save()Method.", "by":"yiibai.com"
   }
)

WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

db.mycol.find({'_id':100}, {'_id':1, 'title':1})
{ "_id" : 100, "title" : "Update By Save()Method." }
Shell

 关注右侧公众号,随时随地查看教程 MongoDB教程目录 
转载自:https://www.yiibai.com/mongodb/mongodb_update_document.html