我使用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是正确的吗?
我将如何循环并显示结果
非常感谢罗布
答案 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按照离指定点最近的顺序返回文档,并通过聚合管道传递文档。”