sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur man gör en anpassad fråga med django-nonrel och mongodb

Jag hittade ett svar på denna fråga, låt mig nu om det finns ett bättre.

Som dokumenterats här tilldela dina objekt till 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()

Sedan kan du göra råfrågor så här:

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

Ett annat tillvägagångssätt antar jag skulle vara att gå direkt till pymongo:http://api.mongodb.org/python/1.10%2B/examples/geo.html

Till slut fick jag den här frågan:

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. Fel när Mongodb byggdes på ubuntu-servern

  2. Hur hämtar man ett värde från mongoDB, efter dess nyckelnamn?

  3. Ogiltigt schema, förväntad "mongodb" eller "mongodb+srv".

  4. MongoDB utfasningsvarningar när du använder Mongoose