更新Mongo中的嵌入式数组和对象

时间:2011-11-11 19:36:31

标签: mongodb nosql

在Mongo中我有一个帖子集,每个帖子都有嵌入了用户ID,用户名和用户电子邮件的评论。

- post
    - comments
           - user_id name email

我想知道如何更新与某个ID相关联的所有电子邮件?

2 个答案:

答案 0 :(得分:2)

目前,您必须先检索评论,然后再更新电子邮件。

根据您使用的客户端,此处为mongoid示例:

 
comments = post.comments
comments.update_attributes(:email => "a@b.c")

此外,还有一个“使用位置运算符更新数组中的所有项目” JIRA,一旦实现,将允许您一次性完成。

答案 1 :(得分:0)

您是否尝试过the $ positional operator,这是更新匹配的子(嵌入式文档)文档的唯一方法。