常用命令更新删除类:
2. db.c4.update({user:"不存在"},{name:"插入"},1);如果前边数据不存在则插入后边的数据。
3. db.c4.update({name:"user1"},{name:"user1update"});如果user1存在,则修改第一条user1的数据,如果user1不存在则无影响行数。
4. db.c1.update({name:"dingsai"},{$set:{name:"dingsai2"}});更新其中一个字段
5. db.c1.update({name:"dingsai2"},{$set:{firstname:"ding"}});在现有数据中插入新字段。
6. db.c4.update({name:"user33"},{$set:{name:"user3"}},true,true);更新所有user33为user3。如果user33不存在则插入user3。
7. db.c4.update({name:"user1update"},{name:"1"},true,true);最后一个参数multi多行更新的时候必须使用{$set:”1”}。
8. db.c5.update({name:"user1"},{$set:{name:"user111"}},false,true);所有user1修改成user111。
9. db.c5.update({name:"user111"},{$set:{age:10}},false,true);所有user111的数据插入age=18。
10. db.c5.update({},{$inc:{score:100}},false,true);在所有记录上增加score字段赋值100,如果存在score就加100,更新所有数据。$inc和$set都有增加字段的功能,只不过$inc可以在现有字段(数字)上增和减。
11. db.c5.update({},{$unset:{age:true}},false,true);删除collections里所有数据的age字段。$unset删除字段;不能删除_id
12. db.c5.insert({name:"user1",arr:[1,2,3]})。db.c5.update({name:"user1"},{$push:{arr:4}})在arr数组中放入4这个值。只能放入单条,如果放入多条({$push:{arr:[5,6,7]}})则成为{"arr" : [ 1, 2, 3, 4, [ 5, 6, 7 ] ] }。$push在数组中插入单条记录。得出结论:$push--向文档的某个数组类型的键添加一个数组元素,不过滤重复的数据。添加时键存在,要求键值类型必须是数组;键不存在,则创建数组类型的键。
13. db.c5.update({name:"user1"},{$pushAll:{arr:[4,5,6]}});$pushAll和和$push功能一样,但是可以插入多条数据; [1,2 3, 4, 5,6]。可以插入重复值。
14. db.c5.update({name:"user1"},{$pop:{arr:1}});从数组尾部删除一条数据数据。{$pop:{arr:-1}}从头部删除一条数组数据。
15. db.c5.update({name:"user1"},{$addToSet:{arr:4}});向数组中插入数据,有重复数据则不插入。值出入一条不重复数据
16. db.c5.update({name:"user1"},{$addToSet:{arr:{$each:[9,10,11]}}});用$addToSet插入多条值,用$each。
17. db.c5.update({name:"user1"},{$pull:{arr:11}});删除数组中值为11的数据。数组值单条删除。
18. db.c5.update({name:"user1"},{$pullAll:{arr:[2,3]}});删除数组中值为2和3的数据。数组值多条删除。
19. db.c5.update({name:"user1"},{$rename:{"oldName":"newName"}});修改字段的名字。$rename修改字段名。
20. db.c5.update({"arr.tit":"java"},{$set:{"arr.$.tit":"java2"}},false,false);修改子json的一个记录。{"name" :"user1","arr" : [ { "tit" : "linux"}, {"tit" : "mysql3"}, { "tit" : "java" } ]}。修改arr.tit=java的数据为java2
21. db.c6.findOne({name:"user4"});返回结果集的第一条数据。
22. varx=db.c6.findOne({name:"user4"}); x.sex="nan";这样输出x不会影响源数据。db.c6.save(x);把修改后的X保存回原数据。
修改器更详细的说明:http://blog.csdn.net/dingsai88/article/details/43228411