1

我使用 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}] 

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

我将如何循环并显示结果

非常感谢

4

2 回答 2

1

pymongo地理空间示例表明$geoNear查询返回包含结果以及状态、查询统计信息和其他数据的字典。因此,您可以仅遍历结果,例如:

for result in db.command(SON([("geoNear", "places") ("near", [0.933004, 51.90634])]))["results"]:
    # do something with result here
于 2013-09-17T23:32:55.683 回答
0

$geoNear

应该返回文件,至少这是文件声称的内容:

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

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

于 2013-09-12T23:33:24.263 回答