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

Truy vấn danh sách trong mongoengine; chứa so với trong

Các truy vấn chuỗi thông thường dưới các bìa đều là truy vấn regex nên sẽ kém hiệu quả hơn. Tuy nhiên, ngoại lệ là khi thử nghiệm đối với các trường tham chiếu! Các truy vấn sau là:

Model.objects.filter(refs__contains="5305c92956c02c3f391fcaba")._query
{'refs': ObjectId('5305c92956c02c3f391fcaba')}

Đây là cách tra cứu trực tiếp.

Model.objects.filter(refs__in=["5305c92956c02c3f391fcaba"])._query
{'refs': {'$in': [ObjectId('5305c92956c02c3f391fcaba')]}}

Điều này có thể kém hiệu quả hơn, nhưng có lẽ sẽ rất ít. Tác động lớn nhất sẽ là số lượng tài liệu và có hay không refs trường có một chỉ mục.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongoose tổng hợp cách ánh xạ nhiều bộ sưu tập vào một Mảng

  2. lỗi kết nối mongodb hết thời gian chờ

  3. Lập mô hình ứng dụng diễn đàn NoSQL với C # / ASP.net MVC

  4. Truy vấn để nhận một giá trị bằng cách trừ một giá trị khỏi tài liệu hiện tại và tài liệu tiếp theo

  5. Trình điều khiển C # MongoDB - Làm thế nào để sử dụng UpdateDefinitionBuilder?