2

我有这样的文件:

对于这个 _id,我想获取所有带有“events.time”> time1 的事件(并且只有这些事件):

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

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

感谢您的回答

4

2 回答 2

2

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

于 2013-05-15T21:27:17.303 回答
1

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

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

可能麻烦多于它的价值,但如果你真的想过滤服务器上的文档,你可以使用聚合框架来完成。看到这个答案

于 2013-05-15T00:55:52.727 回答