MongoDB update数据语法
在前面的文章“ mongodb 查询的语法”里,我介绍了Mongodb的常用查询语法,Mongodb的update操作也有点复杂,我结合自己的使用经验,在这里介绍一下,给用mongodb的朋友看看,也方便以后自己用到的时候查阅:
注:在这篇文章及上篇文章内讲的语法介绍都是在mongodb shell环境内的,和真正运用语言编程(如java,php等)使用时,在使用方法上会有一些差别,但语法(如查询条件,$in,$inc等)是一样的。
本文是参考官方文档来介绍的,之所以有官方文档还要在这介绍,一方面是就当翻译,毕竟每次要用时去看英文文档比较累,第二是官方文档讲解比较简单,有时光看官方文档不好理解,我在实际操作的情况下可以做些补充。
好了,不多说了,下面正式开始:
mongodb更新有两个命令:
1).update()命令
db.collection.update( criteria, objNew, upsert, multi )
criteria : update的查询条件,类似sql update查询内where后面的 objNew : update的对象和一些更新的操作符(如$,$inc…)等,也可以理解为sql update查询内set后面的 upsert : 这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。 multi : mongodb默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
例: db.test0.update( { “count” : { $gt : 1 } } , { $set : { “test2” : “OK”} } ); 只更新了第一条记录 db.test0.update( { “count” : { $gt : 3 } } , { $set : { “test2” : “OK”} },false,true ); 全更新了 db.test0.update( { “count” : { $gt : 4 } } , { $set : { “test5” : “OK”} },true,false ); 只加进去了第一条 db.test0.update( { “count” : { $gt : 5 } } , { $set : { “test5” : “OK”} },true,true ); 全加进去了 db.test0.update( { “count” : { $gt : 15 } } , { $inc : { “count” : 1} },false,true );全更新了 db.test0.update( { “count” : { $gt : 10 } } , { $inc : { “count” : 1} },false,false );只更新了第一条
By admin
read more