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://scyanting.com/article/iijoie.html