mongodb更新数据的方法
这篇文章主要介绍MongoDB更新数据的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
成都创新互联专注于扎赉诺尔网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供扎赉诺尔营销型网站建设,扎赉诺尔网站制作、扎赉诺尔网页设计、扎赉诺尔网站官网定制、小程序开发服务,打造扎赉诺尔网络公司原创品牌,更为您提供扎赉诺尔网站排名全网营销落地服务。
Mongodb更新有两个命令:update、save。
1.1update命令
update命令格式:
db.collection.update(criteria,objNew,upsert,multi)
参数说明:
criteria:查询条件。
objNew:update对象和一些更新操作符。
upsert:如果不存在update的记录,是否插入objNew这个新的文档,true为插入,默认为false,不插入。
multi:默认是false,只更新找到的第一条记录。如果为true,把按条件查询出来的记录全部更新。
示例:
> db.classes.insert({"name":"c1","count":30}) > db.classes.insert({"name":"c2","count":30}) > db.classes.find() { "_id" : ObjectId("5030f3a3721e16c4ab180cd9"), "name" : "c1", "count" : 30 } { "_id" : ObjectId("5030f3ab721e16c4ab180cda"), "name" : "c2", "count" : 30 } >
示例1:把count大于20的class name修改为c3
> db.classes.update({"count":{$gt:20}},{$set:{"name":"c3"}}) > db.classes.find() { "_id" : ObjectId("5030f3a3721e16c4ab180cd9"), "name" : "c3", "count" : 30 } { "_id" : ObjectId("5030f3ab721e16c4ab180cda"), "name" : "c2", "count" : 30 } >
由于没有指定upsert和multi的值,所以全部默认为false,由结果可以看出,只修改了第一条符合条件的记录。
示例2:把count大于20的class name修改为c4,设置multi为true
> db.classes.update({"count":{$gt:20}},{$set:{"name":"c4"}},false,true) > db.classes.find() { "_id" : ObjectId("5030f3a3721e16c4ab180cd9"), "name" : "c4", "count" : 30 } { "_id" : ObjectId("5030f3ab721e16c4ab180cda"), "name" : "c4", "count" : 30 } >
由于指定了multi为true,所以对两条符合条件的记录都进行了更新。
示例3: 把count大于50的class name修改为c5,设置upsert为true
> db.classes.update({"count":{$gt:50}},{$set:{"name":"c5"}},true,false) > db.classes.find() { "_id" : ObjectId("5030f3a3721e16c4ab180cd9"), "name" : "c4", "count" : 30 } { "_id" : ObjectId("5030f3ab721e16c4ab180cda"), "name" : "c4", "count" : 30 } { "_id" : ObjectId("5030f589ce8fa8884e6cd441"), "name" : "c5" } >
在集合中没有count大于50的记录,但是由于指定了upsert为true,如果找不到则会插入一条新记录。
1.2save命令
Mongodb另一个更新命令是save,格式如下:
db.collection.save(obj)
obj代表需要更新的对象,如果集合内部已经存在一个和obj相同的"_id"的记录,Mongodb会把obj对象替换集合内已存在的记录,如果不存在,则会插入obj对象。
这条命令比较简单,示例就省略了。
以上是mongodb更新数据的方法的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!
文章题目:mongodb更新数据的方法
标题路径:http://hbruida.cn/article/iijoie.html