MongoDB修改器总结
2016-06-14 22:59
531 查看
1"$set":用来制定一个字段值,若不存在,则创建;
一般用于点加一个字段
db.users.update({name:"joe"},{"$set":{"favorite book":"War and Peace"}})
还可以修改一个字段
db.users.update({name:"joe"},{"$set":{"favorite book":"Your"}})
还可以删除
db.users.update({name:"joe"},{"$unset":{"favorite book":"Your"}})
2"$inc":增加或者减少
用来增加已有的键的值,不存在则创建一个,比如某网站的访问量
[b]d[/b][b]b.users.update({name:"joe"},{"$inc":{"score":1}})[/b]
[b] 每次访问都会增加1[/b]
[b]3"$push":会向已有的数组末尾添加一个元素,要是没有,创建一个新的数组。[/b]
[b] 比如要添加一个评论:
[b][b]db.users.update({name:"joe"},{"$push":{"comments":{"name":"joe","email":"joe@yahoo.com","conment":"nice"}}})[/b][/b][/b]
[b][b][b] 还想添加,继续修改即可[/b][/b][/b]
db.users.update({name:"joe"},{"$push":{"comments":{"name":"bob","email":"bob@yahoo.com","conment":"good"}}})
4."$each"
"$each"与"$push"结合,可以操作复杂的数组。可以一次添加多个值
var users={"username":"joe",
"email":[
"joe@example.com",
"joe@exam.com",
"joe@yahoo.com"]}
db.users.insert(users)
db.users.find()
db.users.update({"username":"joe"},
{"$addToSet":{"email":"joe@mail.com"}})
db.users.update({"username":"joe"},
{"$addToSet":{
"email":{
"$each":["joe@qq.com","joe@Hadoop.com","joe@python.com"]}}})
结果展示:
{
"_id" : ObjectId("57600ffd73b4b5108cfff9b0"),
"username" : "joe",
"email" : [
"joe@example.com",
"joe@exam.com",
"joe@yahoo.com",
"joe@mail.com",
"joe@qq.com",
"joe@Hadoop.com",
"joe@python.com"
]
}
5"$pop""$pull"删除元素的方法。类似于堆栈中的出栈操作
db.lists.insert({"todo":["dishes","laundry","dry cleaning"]})
db.lists.find()
db.lists.update({},{"$pull":{"todo":"laundry"}})
6基于位置的修改可以使用定位操作符"$"
如: db.blog.plogs.update({"post","post_id"},
{"$inc":"comments.0.votes":1})
实际在数据库中,数组的下标很难确定,我们采用
db.blog.update({"comments.author":"Jim"},
{"$set":{"comments.$.author":"Wade"}})
一般用于点加一个字段
db.users.update({name:"joe"},{"$set":{"favorite book":"War and Peace"}})
还可以修改一个字段
db.users.update({name:"joe"},{"$set":{"favorite book":"Your"}})
还可以删除
db.users.update({name:"joe"},{"$unset":{"favorite book":"Your"}})
2"$inc":增加或者减少
用来增加已有的键的值,不存在则创建一个,比如某网站的访问量
[b]d[/b][b]b.users.update({name:"joe"},{"$inc":{"score":1}})[/b]
[b] 每次访问都会增加1[/b]
[b]3"$push":会向已有的数组末尾添加一个元素,要是没有,创建一个新的数组。[/b]
[b] 比如要添加一个评论:
[b][b]db.users.update({name:"joe"},{"$push":{"comments":{"name":"joe","email":"joe@yahoo.com","conment":"nice"}}})[/b][/b][/b]
[b][b][b] 还想添加,继续修改即可[/b][/b][/b]
db.users.update({name:"joe"},{"$push":{"comments":{"name":"bob","email":"bob@yahoo.com","conment":"good"}}})
4."$each"
"$each"与"$push"结合,可以操作复杂的数组。可以一次添加多个值
var users={"username":"joe",
"email":[
"joe@example.com",
"joe@exam.com",
"joe@yahoo.com"]}
db.users.insert(users)
db.users.find()
db.users.update({"username":"joe"},
{"$addToSet":{"email":"joe@mail.com"}})
db.users.update({"username":"joe"},
{"$addToSet":{
"email":{
"$each":["joe@qq.com","joe@Hadoop.com","joe@python.com"]}}})
结果展示:
{
"_id" : ObjectId("57600ffd73b4b5108cfff9b0"),
"username" : "joe",
"email" : [
"joe@example.com",
"joe@exam.com",
"joe@yahoo.com",
"joe@mail.com",
"joe@qq.com",
"joe@Hadoop.com",
"joe@python.com"
]
}
5"$pop""$pull"删除元素的方法。类似于堆栈中的出栈操作
db.lists.insert({"todo":["dishes","laundry","dry cleaning"]})
db.lists.find()
db.lists.update({},{"$pull":{"todo":"laundry"}})
6基于位置的修改可以使用定位操作符"$"
如: db.blog.plogs.update({"post","post_id"},
{"$inc":"comments.0.votes":1})
实际在数据库中,数组的下标很难确定,我们采用
db.blog.update({"comments.author":"Jim"},
{"$set":{"comments.$.author":"Wade"}})
相关文章推荐
- mongodb 等待写入复制
- 玩转mongodb(八):MapReduce
- 玩转mongodb(八):分布式计算--MapReduce
- Centos上用yum安装和卸载mongodb 3.0数据库
- 查询MongoDB oplog.rs
- [MongoDB] not authorized on test to execute command-MongoDB的权限配置
- win7 安装 mongodb
- mongoDB查询之find
- MongoDB 3.0 安全权限访问控制
- MongoDB安装环境搭建
- Linux系统下MongoDB的简单安装与基本操作
- LINUX 安装 MongoDB
- mongodb插入数据报错:malformed UTF-8 character sequence at offset
- (转)部署MongoDB时需要注意的调参
- mongodb的find()函数如何只显示文档中指定的域(列)?
- MongoDB【第二篇】MongoDB逻辑与物理存储结构
- mongodb查询文档
- MEAN全栈开发学习笔记1===>栈的安装
- MongoDB学习
- MongoDB(四)分片集群