文章正文
mongodb--update高级用法
【文章】2020-04-23
简介mongodb--update高级用法
配合update使用的函数
$set 修改某列的值
$unset 删除某个列
$rename 重命名某个列
$inc 增长某个列
$setOnInsert 当upsert为true时,并且发生了insert操作时,可以补充的字段eg:
db.stu.update(
{name:'wukong'},
{$set:{name:'dzsf'},
$unset:{spike:1}, // 注意这个1是要删除的意思
$rename:{sex:'gender'},
$inc:{age:16}});set
db.mytest.update({"age":20},{"$set":{"age":25}})
db.mytest.find()
{"_id":ObjectId("567677824977e7f9805db208"),"name":"jack","age":25}inc => Interlocked.Add
db.mytest.find()
{ "_id" : ObjectId("567677824977e7f9805db208"), "name" : "jack", "age" : 26 }
db.mytest.update({"age":25},{"$inc":{"age":10}})
db.mytest.find()
{ "_id" : ObjectId("567677824977e7f9805db208"), "name" : "jack", "age" : 26 }
db.mytest.update({"age":26},{"$inc":{"age":10}})
db.mytest.find()
{ "_id" : ObjectId("567677824977e7f9805db208"), "name" : "jack", "age" : 36 }upsert
如果没有匹配的行,就直接插入该行
db.news.upsert({id:10},{x:10,y:11},{upsert:true});结合setOnInsert用法,如果找不到id=10的文档,就插入一个修改后的文档,另外,还要加上setOnInsert里面的元素内容
db.news.upsert({id:10},{$set:{x:10,y:11},$setOnInsert:{gender:'male'},{upsert:true}});push => push array
db.mytest.find()
{ "_id" : ObjectId("567677824977e7f9805db208"), "address" : [ "shanghai" ], "age" : 36, "name" : "jack" }
db.mytest.update({"name":"jack"},{"$push":{"address":"beijing"}})
db.mytest.find()
{ "_id" : ObjectId("567677824977e7f9805db208"), "address" : [ "shanghai", "beijing" ], "age" : 36, "name" : "jack" }pop => pop array
db.mytest.update({"name":"jack"},{"$pop":{"address":"beijing"}})
db.mytest.find()
{ "_id" : ObjectId("567677824977e7f9805db208"), "address" : [ "shanghai" ], "age" : 36, "name" : "jack" }multi
指的是修改多行(默认情况下,查询表达式命中多行只修改一行,如果想一次修改多行,就要把multi设置为true)
db.news.update({age:21},{$set:{age:22}},{multi:true});addToSet
【就是数组中不可能存在在重复的字符串或者数字】
【自动去重的功能】首先我们用 push 做一个演示,无法有"去重“的功能。
db.mytest.update({"age":36},{"push":{"address":"shanghai"}})
db.mytest.find()
{ "_id" : ObjectId("567677824977e7f9805db208"), "address" : [ "shanghai", "shanghai" ], "age" : 36, "name" : "jack" }addToSet自动排除演示
db.mytest.update({"age":36},{"$addToSet":{"address":"shanghai"}})
db.mytest.find()
{ "_id" : ObjectId("567677824977e7f9805db208"), "address" : [ "shanghai" ], "age" : 36, "name" : "jack" }
打赏支持
感谢您的支持,加油!
打开微信扫码打赏,你说多少就多少
找书费时,联系客服快速获取!
在线客服8:30-22:30,若离线请留言!
获取教程,请联系在线客服!
在线客服8:30-22:30,若离线请留言!
热门阅读
-
Python进阶:实际应用开发实战 马修·威尔克斯 机械工业出版社 PDF 9787111701040 出版时间:2022年01月.pdf
Python进阶:实际应用开发实战 马修·威尔克斯 机械工业出版社 PDF 9787111701040 出版时间:2022年01月.pdf ...
-
TensorFlow与卷积神经网络从算法入门到项目实战 华超编著 北京:电子工业出版社 PDF 9787121370786 2019.pdf
TensorFlow与卷积神经网络从算法入门到项目实战 华超编著 北京:电子工业出版社 PDF 9787121370786 2019.pdf ...
-
计算思维与算法入门 赵军等编著 北京:机械工业出版社 PDF 9787111618768 2019.pdf
计算思维与算法入门 赵军等编著 北京:机械工业出版社 PDF 9787111618768 2019.pdf ...
-
算法竞赛宝典 语言及算法入门 张新华编 北京:清华大学出版社 PDF 730240951 2016.pdf
算法竞赛宝典 语言及算法入门 张新华编 北京:清华大学出版社 PDF 730240951 2016.pdf ...
-
ABAQUS有限元分析与案例精通 在海洋石油工程中的应用 王文明编著 机械工业出版社 9787111565321 PDF_出版时间:2017年11月.pdf
ABAQUS有限元分析与案例精通 在海洋石油工程中的应用 王文明编著 机械工业出版社 9787111565321 PDF_出版时间:2017年11月.pdf ...
-
ABAQUS有限元分析与案例精通 在海洋石油工程中的应用 王文明编著 北京:机械工业出版社 PDF 9787111565321 出版时间:2017.pdf
ABAQUS有限元分析与案例精通 在海洋石油工程中的应用 王文明编著 北京:机械工业出版社 PDF 9787111565321 出版时间:2017.pdf ...
-
超表面电磁调控机理与功能器件应用研究 许河秀著 北京:科学出版社 PDF 9787030604132 2019.pdf
超表面电磁调控机理与功能器件应用研究 许河秀著 北京:科学出版社 PDF 9787030604132 2019.pdf ...
-
别爱苏黎世 中国女孩在欧洲的留学故事 郭丹(Kallen)著 北京:华艺出版社 PDF 7801422325 2001.pdf
别爱苏黎世 中国女孩在欧洲的留学故事 郭丹(Kallen)著 北京:华艺出版社 PDF 7801422325 2001.pdf ...
-
欧洲顶尖建筑学院基础实践教程 下 瑞士苏黎世联邦理工大学 (德)马克·安吉利尔,德尔克·黑贝尔编著;祁心,苏文婷,王云石译 天津:天津大学出版社 PDF 7561839874 2011.pdf
欧洲顶尖建筑学院基础实践教程 下 瑞士苏黎世联邦理工大学 (德)马克·安吉利尔,德尔克·黑贝尔编著;祁心,苏文婷,王云石译 天津:天津大学出版社 PDF 7561839874 2011.pdf ...
-
伊沙诗选 伊沙著 西宁:青海人民出版社 PDF 7225024167 2003.pdf
伊沙诗选 伊沙著 西宁:青海人民出版社 PDF 7225024167 2003.pdf ...