2011-04-06 58 views
7

是否有推薦的方法使用django nonrel來自定義查詢mongodb?如何使用django-nonrel和mongodb進行自定義查詢

我已經建立並運行了一個完整的站點,現在我只是添加了一些地理空間索引和查詢,並且想知道是否已經支持地理空間查詢或者是否有最佳實踐方式來執行此操作使用自定義查詢?

回答

10

我找到了這個問題的一個答案,讓我現在如果有更好的答案。

作爲記錄在這裏指定你的對象到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

好的,標記我自己的答案,因爲沒有其他人 – 2011-04-13 11:28:09

相關問題