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

xóa scanAndOrder:true trong kết quả truy vấn MongoDB của tôi

Cảm ơn vì lời cảm ơn về Dex!

Nếu chưa quá muộn ở đây vào năm 2013, chỉ mục tôi khuyên dùng để tránh scanAndOrder ở đây là {_id:-1, cl:1, user_id:1}.

Lý do là vì $ lt trên _id và $ trong user_id tạo thành phạm vi trên nhiều "nhóm" chỉ mục. Một chỉ mục của bất kỳ thứ tự nào khác với thứ tự trên có nghĩa là các nhóm đó vẫn phải được sắp xếp cùng nhau để thỏa mãn một loại trên _id. Bằng cách đặt _id trước, tất cả các tài liệu được truy cập trong chỉ mục sẽ được sắp xếp đúng thứ tự trước.

Lưu ý rằng đây là một cải tiến nhỏ so với đề xuất của Andre ({_id:-1, user_id:1, cl:1}, cũng nên tránh scanAndOrder) vì nó cho phép kiểm tra tính tương đương trực tiếp trên cl để lược bớt kết quả.

Xem http://blog.mongolab.com/2012/06/cardinal- in / để biết thêm chi tiết.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. sắp xếp theo ngày với yêu cầu tổng hợp trong mongodb

  2. Nhận phần trăm với MongoDB tổng hợp $ nhóm

  3. Làm cách nào để cập nhật / nâng cấp tài liệu trong Mongoose?

  4. apollostack / graphql-server - cách lấy các trường được yêu cầu trong truy vấn từ trình giải quyết

  5. Tên trường FieldPath không được chứa '.' khi cố gắng sử dụng AGGREGATE