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

Phân trang hiệu quả của tập hợp MongoDB?

Trong các phương thức con trỏ MongoDB (tức là khi sử dụng find() ) như limit , sort , skip có thể áp dụng cho bất kỳ đơn hàng nào => đơn hàng không thành vấn đề. Một find() trả về một con trỏ mà sửa đổi được áp dụng. Sắp xếp luôn được thực hiện trước giới hạn, bỏ qua cũng được thực hiện trước giới hạn. Vì vậy, nói cách khác, thứ tự là: sắp xếp -> bỏ qua -> giới hạn .

Khung tổng hợp không trả về con trỏ DB. Thay vào đó, nó trả về một tài liệu với kết quả của tổng hợp. Nó hoạt động bằng cách tạo ra các kết quả trung gian ở mỗi bước của quy trình và do đó thứ tự của các hoạt động thực sự quan trọng.

Tôi đoán MongoDB không hỗ trợ thứ tự cho các phương thức sửa đổi con trỏ vì cách nó được triển khai nội bộ.

Bạn không thể phân trang dựa trên kết quả của khung tổng hợp vì chỉ có một tài liệu duy nhất với kết quả. Bạn vẫn có thể phân trang trên một truy vấn thông thường bằng cách sử dụng bỏ qua và giới hạn, nhưng cách tốt hơn là sử dụng truy vấn phạm vi do hiệu quả của việc sử dụng chỉ mục.

CẬP NHẬT:

Vì khung tổng hợp Mongo v2.6 trả về một con trỏ thay vì một tài liệu duy nhất. So sánh: v2.4 v2.6 .



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Làm cách nào để lấy lại tài liệu đã cập nhật từ phương thức findOneAndUpdate?

  2. Không thể cài đặt trình điều khiển php mongodb trên mac OS 10.9

  3. mongodb:tôi có nên luôn sử dụng tùy chọn 'an toàn' khi cập nhật không

  4. Đối sánh đường ống tra cứu MongoDB $ của _id không hoạt động

  5. Lược đồ đúng MongoDB cho dữ liệu tổng hợp