是否可以使用MongoDB查询数组中的特定对象?

时间:2011-09-02 00:04:21

标签: mongodb

假设你有一个像这样的博客集合

{"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 个答案:

答案 0 :(得分:2)

我认为没有办法,因为Mongo在找到匹配项时只返回整个文档,您可以使用Map / Reduce或服务器处理来完成它

答案 1 :(得分:1)

此功能请求可能会帮助您......何时实施(如果没有延迟,则有几个月)。

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