本文共 1264 字,大约阅读时间需要 4 分钟。
先插入练习数据
db.stu.insert([{ "name" : "郭靖", "hometown" : "蒙古", "age" : 20, "gender" : true },{ "name" : "黄蓉", "hometown" : "桃花岛", "age" : 18, "gender" : false },{ "name" : "华筝", "hometown" : "蒙古", "age" : 18, "gender" : false },{ "name" : "黄药师", "hometown" : "桃花岛", "age" : 40, "gender" : true },{ "name" : "段誉", "hometown" : "大理", "age" : 16, "gender" : true },{ "name" : "段王爷", "hometown" : "大理", "age" : 45, "gender" : true },{ "name" : "洪七公", "hometown" : "桃花岛", "age" : 50, "gender" : true }])
局部修改,不存在则新增该字段
db.stu.update({ hometown:"蒙古"},{ $set:{ age:18,height:170}})db.stu.update({ hometown:"蒙古"},{ $set:{ age:10}})# 注意: update()命令默认只更新第一个文档,如果想批量修改,可以增加{multi:true}
删除字段,指定key,值是多少都不影响。好像并非真的删除,只是把它置为null
db.stu.update({ hometown:"蒙古"},{ $unset:{ height:170}})
$inc可以实现变量的自增自减,即支持负数,字段不存在则新增
db.stu.update({ hometown:"蒙古"},{ $inc:{ age:2}}) # age字段自增2
$push是在数组的末尾追加一个元素
db.stu.update({ hometown:"蒙古"},{ $set:{ list:[1,2,3,4,5]}}) # 新增一个列表db.stu.update({ hometown:"蒙古"},{ $push:{ list:6}}) # 追加元素
$push是删除数组的一个元素,如果有多个相同元素,会全都被删除
db.stu.update({ hometown:"蒙古"},{ $pull:{ list:6}})
$pop也是删除元素,不过它删除的是最后一个或第一个元素,值只能选1或-1
转载地址:http://wsrmn.baihongyu.com/