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 và v2.6 .