我正在尝试使用 $near
选项在 pymongo 和 asyncmongo 中获取地理索引。但它总是返回错误的附近位置。谁能帮我解决这个问题。
self.application.db.citydetails.find({"loc":{"$near":(latitude, longitude)}}, limit=20, callback=self.loadMoreSearchResponse)
最佳答案
首先,确保您的 citydetails.loc
数据存储为 GeoJSON 点:
{loc: {type: "Point", coordinates: [ longitude, latitude ]}}
请注意,保存地理空间点时,经度必须放置在坐标
数组中的0索引处。
然后,更改代码,将查询中的经度置于纬度之前:
self.application.db.citydetails.find({"loc":{"$near":(longitude, latitude)}}, limit=20, callback=self.loadMoreSearchResponse)
关于python - AsyncMongo 和 PyMongoDB 地理索引查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20539387/