Можно ли запросить конкретный объект в массиве с MongoDB? - PullRequest
2 голосов
/ 02 сентября 2011

Скажем, у вас есть такая коллекция блогов

{"title": "Post Title", "body": "Post Body", "comments": [{"user": "user1", "comment": "comment from user1"}, {"user": "user2", "comment": "comment from user2"}]} {"title": "Post Title 2", "body": "Post Body 2", "comments": [{"user": "user1", "comment": "comment from user1"}]}

Как я могу запросить комментарии от пользователя?

Этот запрос работает, но возвращает комментарии как от user2, так и от user1. db.posts.find({"comments.user": "user1"})

Есть ли способ получить только комментарии от user1?

Ответы [ 2 ]

2 голосов
/ 02 сентября 2011

Я не думаю, что есть способ, так как Mongo просто возвращает весь документ, когда находит совпадение, вы можете сделать это с помощью Map / Reduce или обработки на сервере

1 голос
/ 02 сентября 2011

Этот запрос функции, вероятно, может помочь вам ... когда он будет реализован (несколько месяцев, если не будет задержки).

https://jira.mongodb.org/browse/SERVER-828

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