Tham khảo sort()
Định nghĩa.
sort({_id: -1, upvotes_count: -1})
nghĩa là sắp xếp _id
đầu tiên, sau đó sắp xếp upvotes_count
theo thứ tự mô tả chỉ dành cho những người giống nhau _id
bài viết. Thật không may, _id
là ObjectId
, là loại BSON 12 byte, được xây dựng bằng:
- giá trị 4 byte đại diện cho số giây kể từ kỷ nguyên Unix,
- mã định danh máy 3 byte,
- một id quy trình 2 byte và
- bộ đếm 3 byte, bắt đầu bằng giá trị ngẫu nhiên.
Thật khó để có được ObjectId
giống nhau . Cụ thể là _id
của mọi bản ghi phải là duy nhất trong tài liệu này. Do đó, kết quả của các mã kiểm tra của bạn chỉ được sắp xếp theo _id
mô tả.
Đây là một ví dụ,
+---------+---------------+
| _id | upvote_count |
+---------+---------------+
| 1 | 5 |
| 4 | 7 |
| 3 | 9 |
| 4 | 8 |
Kết quả của sort({_id: -1, upvotes_count: -1})
nên được
+---------+---------------+
| _id | upvote_count |
+---------+---------------+
| 4 | 8 |
| 4 | 7 |
| 3 | 9 |
| 1 | 5 |
upvote_count
sẽ được sắp xếp cho cùng một _id
.
Tuy nhiên, trong trường hợp này. Có trên cùng một _id
trong trường hợp này.
+---------+---------------+
| _id | upvote_count |
+---------+---------------+
| 1 | 5 |
| 4 | 7 |
| 3 | 9 |
| 2 | 8 |
Kết quả của sort({_id: -1, upvotes_count: -1})
nên được
+---------+---------------+
| _id | upvote_count |
+---------+---------------+
| 1 | 5 |
| 2 | 8 |
| 3 | 9 |
| 4 | 7 |