【问题标题】:How to make a custom query using django-nonrel and mongodb如何使用 django-nonrel 和 mongodb 进行自定义查询
【发布时间】:2011-07-31 00:48:56
【问题描述】:

有没有推荐的方法来使用 django nonrel 对 mongodb 进行自定义查询?

我有一个完整的网站设置并运行良好,现在我只是添加一些地理空间索引和查询,并想知道是否已经支持地理空间查询,或者是否有最佳实践方法使用定制查询?

【问题讨论】:

    标签: mongodb geospatial django-nonrel


    【解决方案1】:

    我找到了这个问题的答案,如果有更好的答案,请告诉我。

    如此处所述,将您的对象分配给 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-10
      • 2011-09-14
      • 1970-01-01
      • 2010-11-01
      • 2014-05-15
      • 1970-01-01
      • 1970-01-01
      • 2016-01-19
      相关资源
      最近更新 更多