设为首页 加入收藏

TOP

MongoDB入门4――更新文档和修改器2 (三)
2014-11-24 07:50:48 来源: 作者: 【 】 浏览:8
Tags:MongoDB 入门 更新 文档 修改器
om" }
>

> db.users.update({"_id" : ObjectId("4ee49adeaf9c9fecc9c9cf62")},{"$set":{"emailaddrs.0":"bbb@b.com"}});
> db.users.find();
{ "_id" : ObjectId("4ee49adeaf9c9fecc9c9cf62"), "emailaddrs" : [ "bbb@b.com", "d@b.com" ], "name" : "Tom" }
> 上面的情况有个不足:不查询出结果怎么知道顺序呢。为了解决这个问题,引入了$定位操作符。用来匹配查询条件查询出来的结果(也就是update的第一个参数)。

回到上面那个评论的例子,我们要修改把评论人为xiaobai的评论的评论人改成xiaoxiaobai。


> db.blog.update({"comments.name":"xiaobai"},{"$set":{"comments.$.name":"xiaoxiaobai"}});
> db.blog.find()
{ "_id" : ObjectId("4ee47369af9c9fecc9c9cf61"), "comments" : [ { "content" : "very good", "name" : "xiaoxiaobai" }, { "name" : "xiaohong", "content" : "very very good" }, { "name" : "lisi", "comment" : "Not Bad" } ], "content" : "MongoDB tutorial...", "title" : "A New Blog" }
>

> db.blog.update({"comments.name":"xiaobai"},{"$set":{"comments.$.name":"xiaoxiaobai"}});
> db.blog.find()
{ "_id" : ObjectId("4ee47369af9c9fecc9c9cf61"), "comments" : [ { "content" : "very good", "name" : "xiaoxiaobai" }, { "name" : "xiaohong", "content" : "very very good" }, { "name" : "lisi", "comment" : "Not Bad" } ], "content" : "MongoDB tutorial...", "title" : "A New Blog" }
> 如果有多条匹配,则只会修改第一条。

上面就是基本的修改器了。

参考书籍:

《MongoDB:The definitive guide》


摘自 wawlian说
首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇MongoDB:mongodb的分片技术 下一篇MongoDB入门3――更新文档和修改..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·C语言中,“指针”用 (2025-12-26 15:20:18)
·在c语言的指针运算中 (2025-12-26 15:20:15)
·C语言-函数指针与函 (2025-12-26 15:20:12)
·求navicat for mysql (2025-12-26 13:21:33)
·有哪位大哥推荐一下m (2025-12-26 13:21:30)