1.更新集合中的文档,语法如下:
db.collection.update(criteria,objNew,upsert,multi)
参数说明:
criteria:用于设置查询条件的对象
objNew:用于设置更新内容的对象
upsert:如果记录已经存在,更新它,否则新增一个记录,取值为0或1
multi:如果有多个符合条件的记录,是否全部更新,取值为0或1
注意:默认情况下,只会更新第一个符合条件的记录 一般情况下后两个参数分别为0,1 ,即: db.collection.update(criteria,objNew,0,1)
2.更新集合中的文档,将集合中name为user1的文档改成name为jack
这种修改有两个问题,就是会使用新文档覆盖原来的文档,如果原来文档有多个键,修改后就有可能被覆盖只剩下一个键了 第二个问题为即使符合更新条件的文档有多个也只会更新第一个符合条件的记录
3.更新集合中的文档,使用 $inc 将集合中name为user1的age加1,其它键不变, $inc表示使某个键值加减指定的数值
4.更新集合中的文档, $set 用来指定一个键的值,如果这个键不存在,则创建它。
例如:
给name为user1的文档添加address,可以使用命令:
db.c1.update({name:”user1”},{$set:{address:”bj”}},0,1)
将name为user1的文档修改address为tj,其它键值对不变,命令为:
db.c1.update({name:”user1”},{$set:{address:”tj”}},0,1)
5.更新集合中的文档, $unset 用来删除某个键
例如删除name为user1的文档中的address键,可以使用命令: db.c1.update({name:”user1”},{$unset:{address:1}},0,1)