sql >> Database >  >> NoSQL >> MongoDB

Een aangepaste query maken met django-nonrel en mongodb

Ik heb één antwoord op deze vraag gevonden, laat me nu weten of er een beter antwoord is.

Zoals hier gedocumenteerd, wijs uw objecten toe aan de 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()

Dan kunt u onbewerkte zoekopdrachten als volgt doen:

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

Een andere benadering zou zijn om rechtstreeks naar pymongo te gaan:http://api.mongodb.org/python/1.10%2B/examples/geo.html

Uiteindelijk kreeg ik deze vraag:

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. Gelijktijdigheid in gopkg.in/mgo.v2 (Mongo, Go)

  2. Kloon database in Mongodb tussen hosts met behulp van knooppuntstuurprogramma

  3. Annuleer banen in Laravel

  4. Wat is de beste MongoDB GUI? — Update 2019