sql >> Databáze >  >> NoSQL >> MongoDB

Jak vytvořit vlastní dotaz pomocí django-nonrel a mongodb

Našel jsem jednu odpověď na tuto otázku, teď mi dovolte, jestli existuje lepší.

Jak je zde zdokumentováno, přiřaďte své objekty k MongoDBManager - http://django-mongodb-engine.github.com/mongodb-engine/cool-stuff.html#included-mongodb-batteries

from django_mongodb_engine.contrib import MongoDBManager

class MyModel(models.Model):
    objects = MongoDBManager()

Pak můžete provádět nezpracované dotazy takto:

MyModel.objects.raw_query({'loc' : {'$near' : [50,50]}})

Jiný přístup, myslím, by byl přejít přímo na pymongo:http://api.mongodb.org/python/1.10%2B/examples/geo.html

Nakonec jsem skončil s tímto dotazem:

nearest = MyModel.objects.raw_query(
    {'loc' : {
         '$within' :{ #within .05 degrees of lat/lon
                    '$center' : [{'long' : long,'lat' : lat}, .05]
                    }
      })[:10] #get up to 10 results



  1. Výchozí hodnota není nastavena při použití Update with Upsert jako true

  2. Operátor agregačního potrubí MongoDB $lte

  3. mongoDB přidání konkrétních dat do db Replica

  4. Jak najít dokument podle vložené položky v MongoDB PHP