gpt4 book ai didi

python - 应用 $geoNear 在 pymongo 中使用聚合找到最近的 latlong?

转载 作者:可可西里 更新时间:2023-11-01 10:23:42 24 4
gpt4 key购买 nike

我在集合中的文档看起来像这样 -

{'_id' : 'Delhi1', 'loc' : [28.34242,77.656565] }
{'_id' : 'Delhi2', 'loc' : [27.34242,78.626523] }
{'_id' : 'Delhi3', 'loc' : [25.34242,77.612345] }
{'_id' : 'Delhi4', 'loc' : [28.34242,77.676565] }

我想使用 pymongo 应用聚合,以根据输入的 latlong 找出相关文档。我已经在“loc”上创建了索引。这是我到目前为止所做的 -

pipeline = [{'$geoNear':{'near': [27.8787, 78.2342],
'distanceField': "distance",
'maxDistance' : 2000 }}]
db['mycollection'].aggregate(pipeline)

但这对我不起作用?如何正确使用它?

最佳答案

实际上,我在集合中创建了“2dsphere”索引,要将 geoNear 与 2dsphere 一起使用,我们需要在管道中指定 spherical = True

pipeline = [{'$geoNear':{'near': [27.8787, 78.2342],
'distanceField': "distance",
'maxDistance' : 2000,
'spherical' : True }}]

关于python - 应用 $geoNear 在 pymongo 中使用聚合找到最近的 latlong?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35948144/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com