Khi chúng tôi chạy truy vấn Mongo find () mà không có bất kỳ thứ tự sắp xếp nào được chỉ định, cơ sở dữ liệu nội bộ sử dụng gì để sắp xếp kết quả?
Theo tài liệu trên trang web mongo :
Khi thực thi một find () không có tham số, cơ sở dữ liệu trả về các đối tượng theo thứ tự tự nhiên chuyển tiếp.
Đối với các bảng tiêu chuẩn, thứ tự tự nhiên không đặc biệt hữu ích bởi vì, mặc dù thứ tự thường gần với thứ tự chèn, nhưng nó không được đảm bảo. Tuy nhiên, đối với Bộ sưu tập có giới hạn, thứ tự tự nhiên được đảm bảo là thứ tự chèn. Điều này có thể rất hữu ích.
Tuy nhiên đối với các tập hợp chuẩn (tập hợp không giới hạn), trường nào được sử dụng để sắp xếp kết quả? Nó là trường _id hay cái gì khác?
Biên tập:
Về cơ bản, tôi đoán những gì tôi đang cố gắng đạt được là nếu tôi thực hiện truy vấn tìm kiếm sau:
db.collection.find({"x":y}).skip(10000).limit(1000);
Tại hai thời điểm khác nhau: t1 và t2 , tôi sẽ nhận được các tập kết quả khác nhau:
- Khi không có ghi bổ sung nào giữa t1 & t2?
- Khi nào có ghi mới giữa t1 & t2?
- Có chỉ mục mới đã được thêm vào giữa t1 & t2?
Tôi đã chạy một số thử nghiệm trên cơ sở dữ liệu tạm thời và kết quả tôi nhận được là giống nhau ( Có ) cho cả 3 trường hợp - nhưng tôi muốn chắc chắn và tôi chắc chắn rằng các trường hợp thử nghiệm của tôi không được kỹ lưỡng.