mongodb pymongo geonear结果循环

时间:2013-09-12 17:40:43

标签: python mongodb pymongo

我使用geonear从mongodb获取结果列表(包括距离) 这就是我回来的原因

[{u'obj': {u'_id': ObjectId('5210bc7fa861b40ba0745c1b'), u'loc': {u'type': u'Point',
u'coordinates': [1.063122, 51.856272]}}, u'dis': 0.0044619326805318904}, 
{u'obj': {u'_id': ObjectId('5210c1f9a861b40ba0745c1e'), u'loc': {u'type': u'Point',
u'coordinates': [0.933004, 51.90634]}}, u'dis': 10536.105585810197}] 

我的问题是我无法遍历结果并显示每个文档 我相信这是因为它返回一个列表而不是一个dict是正确的吗?

我将如何循环并显示结果

非常感谢

罗布

2 个答案:

答案 0 :(得分:1)

pymongo geospatial examples表示$geoNear查询返回包含结果以及状态,查询统计信息和其他数据的字典。因此,您可以遍历结果,如:

for result in db.command(SON([("geoNear", "places") ("near", [0.933004, 51.90634])]))["results"]:
    # do something with result here

答案 1 :(得分:0)

$geoNear

应该返回文档,至少这是文档所声称的:

http://docs.mongodb.org/manual/reference/aggregation/geoNear/

“$ geoNear按照离指定点最近的顺序返回文档,并通过聚合管道传递文档。”