1.格式:
db.test.update({},{},true/false,true/false);
参数1:表示查询条件
参数2:表示执行的更新操作
参数3:表示在查询不到指定数据的情况下,以参数1和参数2为数据执行插入 true–可以执行插入,false—不可执行插入
参数4:表示是否更新所有的匹配的文档,true–执行全部更新,false–只更新第一个.
2.使用修改器文档更新
2.1 “$set” 修改器
db.test.update({x:2},{“$set”:{“name”:”zhangsan”}}); —修改test表中,x=2的记录,将其name字段更新为zhangsan;
如果name字段不存在则会创建name字段并赋值;
2.2 “$unset” –删除指定的字段
db.test.update({x:2},{“$unset”:{name:1}}); –删除x=2记录上创建的name字段(只能单个删除字段)
2.3 “$inc”—–数字增加/减少
db.test.update({x:2},{“$inc”:{“score”:100}}); —修改x=2的记录,将score字段的值更加100(如果原来是2,则成了102)
如果score字段不存在则会创建score字段.
注:$inc与$set用法类似,12但$inc只能用于整型,长整型,或浮点型。
2.4 更新多个文档
默认情况下 mongodb的更新操作只会对符合条件的第一个文档执行更新.可以将update的第四个参数设置为true来实现多文档更新.
db.test.update({name:lisi},{“$set”:{age:20}},false,true); —true表示将所有name=lisi的记录的age更新为20, false表示查不到文档时不执行插入操作