从MongoDB查询结果处理大型列表

时间:2018-01-25 11:16:53

标签: python mongodb

如果我运行以下代码,Python会杀死该进程,因为要处理的列表太大。事实上,如果我限制结果的数量,一切正常。

pipeline = [
        { "$unwind" : "$calls" },
    ]

calls_data = list(db.Data.aggregate(pipeline,allowDiskUse=True))

显而易见的解决方案是迭代查询结果,而不是从中查找列表。问题是我需要使用滑动窗口处理元素,即给出我需要访问下一个3的每个元素。 有没有办法真正从查询中获取前x个结果,将它们转换为列表,处理它们然后在下一个x上执行相同的操作? 欢迎任何可能的解决方案。

1 个答案:

答案 0 :(得分:0)

使用迭代器处理结果是正确的。您也可以使用迭代器执行滑动窗口:Rolling or sliding window iterator?