Обновление встроенного массива и объектов в Mongo - PullRequest
1 голос
/ 11 ноября 2011

В Mongo у меня есть коллекция постов, и в каждом посте есть комментарии, которые вставляются с идентификатором пользователя, именем пользователя и адресом электронной почты пользователя.

- post
    - comments
           - user_id name email

Мне было интересно, как я могу обновить все электронные письма?которые связаны с определенным идентификатором?

Ответы [ 2 ]

2 голосов
/ 11 ноября 2011

В настоящее время вам придется сначала получить комментарии, а затем обновить электронные письма.

В зависимости от того, какой клиент вы используете, приведен пример mongoid:

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

Также есть JIRA , которая после внедрения позволит вам сделать это за один раз.

уже является *1007* "Используйте позиционный оператор для обновления всех элементов в массиве".
0 голосов
/ 11 ноября 2011

Вы пробовали оператор $ positional , это единственный способ обновить соответствующие документы sub (внедренные документы).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...