在默认情况下,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条
原文地址:https://www.cnblogs.com/wzndkj/p/9388601.html
时间: 2024-10-29 13:53:15