python - AsyncMongo 和 PyMongoDB 地理索引查询

标签 python mongodb pymongo asyncmongo nosql

我正在尝试使用 $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/

相关文章:

java - Spring - 按非空数组过滤在 Mongo 中不起作用

python - PyMongo:批量插入新集合时出现 NatType ValueError

mongodb - Pymongo 中的全文搜索

python - App Engine,pymongo.errors.ServerSelectionTimeoutError : connection closed, 连接已关闭,连接已关闭”

python - 使用 Twill 从登录页面 Python 中抓取 .txt

python - 为什么在进行迭代时某些特定数字需要这么长时间

python - 如何用 Bokeh 生成气泡图

python - python独立开发应该选择docker吗?

mongodb - 在 mongoDB 中删除数组字段大小小于 3 的文档

mongodb - findOneAndUpdate(updateQuery, updateSet, returnFields) 的返回类型是什么,如何获取返回值?