MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Cách tạo truy vấn tùy chỉnh bằng django-nonrel và mongodb

Tôi đã tìm thấy một câu trả lời cho câu hỏi này, hãy để tôi ngay bây giờ nếu có câu nào tốt hơn.

Như đã nêu ở đây, gán các đối tượng của bạn cho MongoDBManager - http://django-mongodb-engine.github.com/mongodb-engine/cool-stuff.html#included-mongodb-bataries

from django_mongodb_engine.contrib import MongoDBManager

class MyModel(models.Model):
    objects = MongoDBManager()

Sau đó, bạn có thể thực hiện các truy vấn thô như sau:

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

Một cách tiếp cận khác mà tôi đoán sẽ là truy cập trực tiếp vào pymongo: http://api.mongodb.org/python/1.10%2B/examples/geo.html

Cuối cùng tôi đã kết thúc với truy vấn này:

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. MongoDB Aggregation:thêm trường từ một tài liệu nhúng thông qua một đường dẫn trường động

  2. Cách bảo mật máy chủ ClusterControl

  3. Sao lưu cơ sở dữ liệu MongoDB bằng mongodump

  4. MongoDB ORM cho Python?

  5. Toán tử truy vấn $ expr dường như không hoạt động với ký hiệu chấm mảng