2

私はフラスコとモンゴエンジンを使用しています。mongodb の geoNearクエリを使用するにはどうすればよいですか?

このリンクを使用して、このようにpymongoを使用しようとしています:

db.command(SON([('geoNear', 'content'), ('near', coordinate)]))

私が正しい道を進んでいるなら。

フラスコとmongoengineからpymongoのdbオブジェクトを作成するにはどうすればよいですか?

4

2 に答える 2

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)]))
于 2015-07-02T00:22:29.453 に答える
0

MongoEngine 0.8 では、地理クエリが導入されました。

次のようなことができるはずです。

content.objects(point__near=coordinate)
content.objects(point__near={"type": "Point", "coordinates": coordinate})
于 2016-03-16T15:05:53.227 に答える