mongoDB的基本操作之数据更新多条数据

在默认情况下,update会更新第一条找到的数据,我们做个实验,插入3条c为1的数据
db.test_collection.insert({c:1})
然后我们find的一下
db.test_collection.find({c:1})
得到的结果是
{ "_id" : ObjectId("5b5e3f7da2b4848fd8c49dbf"), "c" : 1 }
{ "_id" : ObjectId("5b5e3f7fa2b4848fd8c49dc0"), "c" : 1 }
{ "_id" : ObjectId("5b5e3f7fa2b4848fd8c49dc1"), "c" : 1 }
说明已经插入成功了

 

我们用update的将c为1的数据更新为c为2的数据
db.test_collection.update({c:1},{c:2})
我们再次查找c为1的数据
db.test_collection.find({c:1})
发现还有两条

 

我们查找c为2的数据
db.test_collection.find({c:2})
发现只有一条

 

mongodb这样设计,是为了防止不小心的update误操作
db.test_collection.update({c:1},{$set:{c:2}},false,true)
第2个set是部分操作,第3个参数表示如果不存在,是否新创建,第4个参数表示是否更新多条数据,我们再来查找c为2的数据
db.test_collection.find({c:2})
发现有3条
posted @ 2018-07-30 06:38  wzndkj  阅读(8596)  评论(0编辑  收藏  举报