学习《Mongodb权威指南》学习笔记 (一)
2014-11-24 10:26
106 查看
使用$set来增加一个属性
使用$set 更改一个属性
使用$unset来删除一个属性
如要删除一个属性
$inc 用来增加属性的值 或在键不存在时创建这个键 值只能是整数 长整数 双精度浮点数 否则报错 例
使用$push 为一个键的末尾加入一个元素 要是没有就会创建一个新的数组 不能对非数组进行push操作 例:
使用$addToSet 为一个数组push一个 值 如果 该数组已经有相同的值 则不会添加 可避免重复
注意
使用$addToSet 和 $each 灵活运用技巧 例:
使用$pop 来删除数组中的 第一个或者 最后一个元素 例: {$pop : {key:1}} 从数组末尾删除一个元素 {$pop : {key:-1}} 从头部删除
删除后
使用$pull基于条件删除元素 而不是依据位置 也是数组操作 例:
修改前
修改后
ps 语句
修改后
update 第一个参数 查询条件
第二个参数 修改内容
第三个参数 是否全部更新 true or false
第四个参数 是否启用 upsert update and insert
db.table1.update({"_id":ObjectId("5472881298a2819b7ee66327")},{"$set":{"like":"123"}})
使用$set 更改一个属性
db.table1.update({"_id":ObjectId("5472881298a2819b7ee66327")},{"$set":{"like":["123","456","789"]}})
使用$unset来删除一个属性
db.table1.update({"_id":ObjectId("5472881298a2819b7ee66327")},{"$unset":{"like":"3333"}})
如要删除一个属性
db.table1.update({"_id":ObjectId("5472881298a2819b7ee66327")},{"$unset":{}})
$inc 用来增加属性的值 或在键不存在时创建这个键 值只能是整数 长整数 双精度浮点数 否则报错 例
{ "_id" : ObjectId("5472881298a2819b7ee66327"), "game" : "pinball", "name" : "joe", "score" : 400 } db.table1.update({"_id":ObjectId("5472881298a2819b7ee66327")},{"$inc":{"score":50}})
修改后 { "_id" : ObjectId("5472881298a2819b7ee66327"), "game" : "pinball", "name" : "joe", "score" : 450 }
使用$push 为一个键的末尾加入一个元素 要是没有就会创建一个新的数组 不能对非数组进行push操作 例:
db.table1.update({"_id":ObjectId("5472881298a2819b7ee66327")},{ $push:{ "people":{ "name" : "joe", "like" : "lookbook" } } })
使用$addToSet 为一个数组push一个 值 如果 该数组已经有相同的值 则不会添加 可避免重复
db.table1.update({"_id":ObjectId("5472881298a2819b7ee66327")},{ "$addToSet":{"people": "123"}})
{ "_id" : ObjectId("5472881298a2819b7ee66327"), "game" : "pinball", "name" : "joe", "score" : 500, "people" : [ { "name" : "joe", "like" : "lookbook" }, "123" ] }
注意
使用$addToSet 和 $each 灵活运用技巧 例:
db.table1.update({"_id":ObjectId("5472881298a2819b7ee66327")},{ "$addToSet":{"people": {"$each":["4444","5555","666"]}}})
{ "_id" : ObjectId("5472881298a2819b7ee66327"), "game" : "pinball", "name" : "joe", "score" : 500, "people" : [ { "name" : "joe", "like" : "lookbook" }, "123", "4444", "5555", "666" ] }
使用$pop 来删除数组中的 第一个或者 最后一个元素 例: {$pop : {key:1}} 从数组末尾删除一个元素 {$pop : {key:-1}} 从头部删除
db.table1.update({"_id":ObjectId("5472881298a2819b7ee66327")},{'$pop' : {"people":1}})
删除后
{ "_id" : ObjectId("5472881298a2819b7ee66327"), "game" : "pinball", "name" : "joe", "score" : 500, "people" : [ { "name" : "joe", "like" : "lookbook" }, "123", "4444", "5555" ] }
使用$pull基于条件删除元素 而不是依据位置 也是数组操作 例:
db.table1.update({"_id":ObjectId("5472881298a2819b7ee66327")},{ "$pull" : {"people" : "4444"} })
修改前
{ "_id" : ObjectId("5472881298a2819b7ee66327"), "pull" : { "people" : [ "4444", "5555" ] }, "people" : [ "4444", "5555", "666" ] }
修改后
{ "_id" : ObjectId("5472881298a2819b7ee66327"), "pull" : { "people" : "5555" } }
ps 语句
db.table1.update({"_id":ObjectId("5472881298a2819b7ee66327")},{"$push" : {"people" : {"$each":[{"name":"1212","password":"sadsad"},{"name":"ads","password":"adasdsa"},{"name":"23232","password":"adad"}]}}})
修改后
{ "_id" : ObjectId("5472881298a2819b7ee66327"), "pull" : { "people" : [ "4444", "5555" ] }, "people" : [ { "name" : "aaa", "password" : "12121" }, { "name" : "1212", "password" : "sadsad" }, { "name" : "ads", "password" : "adasdsa" }, { "name" : "23232", "password" : "adad" } ] }
update 第一个参数 查询条件
第二个参数 修改内容
第三个参数 是否全部更新 true or false
第四个参数 是否启用 upsert update and insert
相关文章推荐
- 学习《Mongodb权威指南》学习笔记 (二)
- 学习《JavaScript高级程序设计》学习笔记(一)
- 《设计模式》学习笔记(3)——一个学习创建型模式的例子
- 《Mongodb权威指南》学习笔记 第一章
- 《Mongodb权威指南》学习笔记 第四章 查询(一)
- Cocos2d学习-魔塔学习笔记
- 《Mongodb权威指南》学习笔记 第四章 查询
- 《Mongodb权威指南》学习笔记 第一章
- 《Mongodb权威指南》学习笔记 第三章 创建、更新及删除文档(二)
- 《Mongodb权威指南》学习笔记 第四章 查询(二)
- PetShop3.x学习笔记6-SQLServer学习笔记
- Python学习之二:《Dive in Python》学习笔记一
- 《C++逆向学习三步走》学习笔记
- 《信息论,推理和学习算法》学习笔记——概率,前向概率,反向概率
- 敏捷开发学习总结(4):极限编程(XP)学习笔记
- 《Windows NT FileSystem Internals》学习笔记之IO_STACK_LOCATION的学习
- Java6学习笔记——ArrayList类的学习
- 学习《JavaScript高级程序设计》学习笔记(三)
- 《Mongodb权威指南》学习笔记 第二章 入门
- 《Mongodb权威指南》学习笔记 第五章 索引