Sử dụng limit()
bạn thông báo cho máy chủ rằng bạn sẽ không truy xuất nhiều hơn k các tài liệu. Cho phép một số tối ưu hóa để giảm tiêu thụ băng thông và tăng tốc độ. Cuối cùng, sử dụng điều khoản giới hạn, máy chủ sẽ có thể sử dụng tốt hơn 32MB tối đa có sẵn khi sắp xếp trong RAM (tức là:khi không thể lấy thứ tự sắp xếp từ một chỉ mục).
Bây giờ, câu chuyện dài:find()
trả về một con trỏ. Theo mặc định, con trỏ sẽ chuyển kết quả đến máy khách theo lô. Từ tài liệu
,:
Sử dụng limit()
con trỏ sẽ không cần truy xuất nhiều tài liệu hơn mức cần thiết. Do đó, giảm tiêu thụ băng thông và độ trễ.
Xin lưu ý rằng, với trường hợp sử dụng của bạn, bạn có thể sẽ sử dụng sort()
hoạt động cũng như vậy. Từ tài liệu tương tự như trên:
Và trang tài liệu sort () giải thích thêm:
Giới hạn 32 MB đó không dành riêng cho việc sắp xếp bằng limit()
mệnh đề. Bất kỳ loại nào có thứ tự không thể lấy được từ một chỉ mục sẽ bị cùng một giới hạn. Tuy nhiên, với một đồng bằng sắp xếp máy chủ cần giữ tất cả tài liệu trong bộ nhớ của nó để sắp xếp chúng. Với một hạn chế sắp xếp, nó chỉ phải lưu trữ k tài liệu trong bộ nhớ cùng một lúc.