Bir bölgedeki tüm öğeleri sorgulamak için pymongo kullanıyorum (aslında bir haritadaki bir bölgedeki tüm mekanları sorgulamaktır). Önce bir sözlükte arama yapabilmem için küresel bir bölgede arama yapmak için db.command(SON())
kullanmıştım ve sözlükte, mekanları içeren results
adlı bir anahtar var. Şimdi bir kare alanda arama yapmam gerekiyor ve ben db.places.find
'u kullanmam öneriliyor, ancak bu bana pymongo.cursor.Cursor
sınıfını döndürüyor ve mekan sonuçlarını nasıl çıkaracağımı bilmiyorum.Bir pymongo.cursor.Cursor bir dict dönüştürmek nasıl?
İmleci bir kurgusuna dönüştürüp dönüştürmemeyi ve sonuçları çıkarmamı veya kare bir bölgedeki öğeleri sorgulamak için başka bir yöntem kullanmam gerektiğini bilen var mı? BTW, db kodları pymongo.database.Database sınıf
geçerli:
>>> import pymongo
>>> db = pymongo.MongoClient(host).PSRC
>>> resp = db.places.find({"loc": {"$within": {"$box": [[ll_lng,ll_lat], [ur_lng,ur_lat]]}}})
>>> for doc in resp:
>>> print(doc)
Ben bu değerleri kullanmak, ll_lng, ll_lat, ur_lng ve ur_lat ait değerlere sahip ancak bu kodları hiçbir şey yazdırır
Sen sözlükleri listesini tedavi ederdin aynı şekilde döndürülür pymongo imleci davranabilirsiniz gidin. – dursk
@dursk Ancak, imleç yok edilmeden önce yalnızca imleci dolaşabilirsiniz, böylece her sonucu bir dikdörtgenin listesinde kaydettiğinizden emin olmalısınız. – Rohmer