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

Mongo $ tồn tại truy vấn không trả về tài liệu chính xác

Điều này là do bạn sử dụng chỉ mục thưa thớt cho bcoded_metadata . Nếu bạn có một chỉ mục thưa thớt trên bcoded_metadata, thì chỉ mục sẽ không chứa các tài liệu không có trường bcoded_metadata . Các tài liệu không có bcoded_metadata trường không phải là một phần của truy vấn ban đầu của bạn và do đó "count" sẽ trả về 0.

Nếu bạn chỉ chạy tìm kiếm:db.ts.find({"bcoded_metadata" : { "$exists" : false } }) thì bạn cũng sẽ không nhận được kết quả nào. Bạn có thể sử dụng chỉ mục không thưa thớt hoặc đếm đầy đủ với db.ts.count(); và trừ kết quả của db.ts.find({"bcoded_metadata" : { "$exists" : true } }) kết quả.

Có một thẻ JIRA giải thích thêm một chút và có thể được theo dõi trong trường hợp MongoDB nhận được thông báo lỗi / cảnh báo cho điều này: https://jira.mongodb.org/browse/SERVER-3918




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Tìm xem ai đó có sinh nhật trong 30 ngày tới với mongo hay không

  2. MongoDB phiên bản 2.6 vẫn không thành công trên lập chỉ mục địa lý 2dsphere với lý do không thể giải nén các khóa địa lý và hình dạng có thể bị sai

  3. MongoDB java của ứng dụng khách WriteConcern không hoạt động

  4. Làm thế nào để truy vấn MongoDB để kiểm tra xem một mục có tồn tại hay không?

  5. Kích thước mảng tổng hợp Mongo DB lớn hơn khớp