如何有效地将mongodb查询文档放入数组中

时间:2017-03-16 18:16:55

标签: python mongodb pymongo database

我是Mongodb的新手,遇到了由数据量引起的许多问题。 目前我有一个Mongodb集合,其中包含10 ^ 9个点的坐标,格式如下(Mongodb GeoJSON格式):

{
    "location": 
    {
        "x": 15.2345,
        "y": 100.3456,    
    }          
    "Height": 25.2342
}

现在我需要查询给定位置的10 ^ 6个附近点。我尝试了Mongodb GeoSpatial Index提供的find($near)命令,效率很高。但它返回的只是一个游标,我必须使用for循环迭代此游标的所有文档以获得一个数组(比如numpy数组),这会耗费大量时间。

我找不到Mongodb文档中的任何其他方法。我想知道是否有更有效的方法来查询数据到数组?如果没有,我应该用其他格式组织这些点吗?

非常感谢你。

1 个答案:

答案 0 :(得分:0)

尝试Monary,它直接将MongoDB的BSON数据转换为NumPy数组:

http://monary.readthedocs.io/