【问题标题】:Mongodb's geoNear In Flask and MongoengineMongodb 在 Flask 和 Mongoengine 中的 geoNear
【发布时间】:2015-09-19 06:47:24
【问题描述】:
我正在使用烧瓶和 mongoengine。如何使用mongodb's geoNear 查询?
我正在尝试使用这个link:
db.command(SON([('geoNear', 'content'), ('near', coordinate)]))
如果我走对了。
如何从flask和mongoengine创建pymongo的db对象?
【问题讨论】:
标签:
mongodb
flask
pymongo
mongoengine
flask-mongoengine
【解决方案1】:
看完mongoengine的源码
在connection.py get_db中返回我需要的db对象
def get_db(alias=DEFAULT_CONNECTION_NAME, reconnect=False):
所以我可以像这样在 mongoengine 中运行 geoNear:
from mongoengine.connection import get_db
get_db().command(SON([('geoNear', 'content'), ('near', coordinate)]))
【解决方案2】:
MongoEngine 0.8 引入Geo queries。
你应该可以做这样的事情:
content.objects(point__near=coordinate)
content.objects(point__near={"type": "Point", "coordinates": coordinate})