获取mongodb文档中的数组项

时间:2013-05-15 00:44:33

标签: python arrays mongodb

我有这样的文件:

对于这个_id,我想通过“events.time”>获取所有活动。 time1(只有这些):

{
    "_id": ...,
    "events": [
        {"time": 345678, "value": "1"},
        {"time": 567890, "value": "2"},
        ...
    ]
}

我该怎么办?有没有一种简单的方法从mongodb文档中的数组中提取数据? (我使用python 2.7和mongod v2.2.4)

感谢您的回答

2 个答案:

答案 0 :(得分:2)

在我的案例中,最好的解决方案似乎为我的数据库选择了另一种模式。 所以我创建了一个单独的事件集合......

答案 1 :(得分:1)

虽然您可以根据子文档数组的内容找到文档,但mongo将返回整个文档。

除非有大量事件且您无法节省网络流量,否则您可以更轻松地在客户端上使用Python过滤数组。

可能它比它的价值更麻烦,但如果你真的想要过滤服务器上的文件,你可以使用聚合框架来完成它。请参阅this answer