MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да направите персонализирана заявка с помощта на django-nonrel и mongodb

Намерих един отговор на този въпрос, позволете ми сега, ако има по-добър.

Както е документирано тук, присвоете своите обекти на 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()

След това можете да правите необработени заявки като това:

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

Различен подход, предполагам, би бил да отидете директно до pymongo:http://api.mongodb.org/python/1.10%2B/examples/geo.html

Накрая стигнах до тази заявка:

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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. $push с позиционен ($) в upsert е неуспешен

  2. Отхвърлен анализатор на тялото?

  3. Използване на параметър maxTimeMS със заявки за агрегиране на Mongo 2.6 и Pymongo 2.7.1

  4. htmlspecialchars премахнете стойността вътре в масива?

  5. GraphQL грешка при връщане на резултат от сборна команда mongoose