iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >【MongoDB学习笔记13】MongoDB的更新(update)操作进阶
  • 278
分享到

【MongoDB学习笔记13】MongoDB的更新(update)操作进阶

2024-04-02 19:04:59 278人浏览 安东尼
摘要

一、批量更新默认只对符合条件的一条文档更新> db.post.find()    { "_id" : ObjectId("54a5

一、批量更新

默认只对符合条件的一条文档更新

> db.post.find()   
{ "_id" : ObjectId("54a530c3ff0df3732bac1681"), "id" : 2, "name" : "joe", "age" : 49 }   
{ "_id" : ObjectId("54a530c3ff0df3732bac1680"), "id" : 1, "name" : "joe", "age" : 21, "comments" : [ "test2", "test9", "test5" ] }
> db.post.update({"name":"joe"}, {$set:{"age":70}})   
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })    
> db.post.find()    
{ "_id" : ObjectId("54a530c3ff0df3732bac1681"), "id" : 2, "name" : "joe", "age" : 70 }  
{ "_id" : ObjectId("54a530c3ff0df3732bac1680"), "id" : 1, "name" : "joe", "age" : 21, "comments" : [ "test2", "test9", "test5" ] }    >

 
利用update的第四个参数进行批量更新:

> db.post.update({"name":"joe"}, {$set:{"age":30}},false,true)   
WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })> db.post.find()    
{ "_id" : ObjectId("54a530c3ff0df3732bac1681"), "id" : 2, "name" : "joe", "age" : 30 }   
{ "_id" : ObjectId("54a530c3ff0df3732bac1680"), "id" : 1, "name" : "joe", "age" : 30, "comments" : [ "test2", "test9", "test5" ] }    
>

附注:update方法参考

update( criteria, objNew, upsert, multi )    
criteria : update的查询条件,类似sql update查询内where后面的    
objNew   : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的    
upsert   : 这个参数的意思是,无论false还是true,没有匹配的键则新增加一个;

multi    : mongoDB默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。

 

二、更新文档键值,无键值的则新增键值;

> db.post.update({"name":"joe"}, {$set:{"sex":1}},false,true)   
WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })    
> db.post.find()    
{ "_id" : ObjectId("54a530c3ff0df3732bac1681"), "id" : 2, "name" : "joe", "age" : 30, "sex" : 1 }    
{ "_id" : ObjectId("54a530c3ff0df3732bac1680"), "id" : 1, "name" : "joe", "age" : 30, "comments" : [ "test2", "test9", "test5" ], "sex" : 1 }    
> db.post.update({"name":"joe"}, {$set:{"school":"marry"}},true,true)    
WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })    
> db.post.find()    
{ "_id" : ObjectId("54a530c3ff0df3732bac1681"), "id" : 2, "name" : "joe", "age" : 30, "sex" : 1, "school" : "marry" }    
{ "_id" : ObjectId("54a530c3ff0df3732bac1680"), "id" : 1, "name" : "joe", "age" : 30, "comments" : [ "test2", "test9", "test5" ], "sex" : 1, "school" : "marry" }    >


您可能感兴趣的文档:

--结束END--

本文标题: 【MongoDB学习笔记13】MongoDB的更新(update)操作进阶

本文链接: https://www.lsjlt.com/news/34651.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作