Lihat sort()
definisi.
sort({_id: -1, upvotes_count: -1})
berarti mengurutkan _id
pertama, lalu urutkan upvotes_count
dengan desc order hanya untuk mereka yang sama _id
posting. Sayangnya, _id
adalah ObjectId
, yang merupakan tipe BSON 12-byte, dibuat menggunakan:
- nilai 4-byte yang mewakili detik sejak zaman Unix,
- pengidentifikasi mesin 3 byte,
- id proses 2 byte, dan
- penghitung 3 byte, dimulai dengan nilai acak.
Sulit untuk mendapatkan ObjectId
yang sama . Yaitu, _id
dari setiap catatan harus unik dalam dokumen ini. Akibatnya, hasil kode pengujian Anda hanya diurutkan berdasarkan _id
deskripsi
Ini salah satu contohnya,
+---------+---------------+
| _id | upvote_count |
+---------+---------------+
| 1 | 5 |
| 4 | 7 |
| 3 | 9 |
| 4 | 8 |
Hasil sort({_id: -1, upvotes_count: -1})
seharusnya
+---------+---------------+
| _id | upvote_count |
+---------+---------------+
| 4 | 8 |
| 4 | 7 |
| 3 | 9 |
| 1 | 5 |
upvote_count
akan diurutkan untuk _id
same yang sama .
Namun, dalam hal ini. Ada di _id
yang sama dalam hal ini.
+---------+---------------+
| _id | upvote_count |
+---------+---------------+
| 1 | 5 |
| 4 | 7 |
| 3 | 9 |
| 2 | 8 |
Hasil sort({_id: -1, upvotes_count: -1})
seharusnya
+---------+---------------+
| _id | upvote_count |
+---------+---------------+
| 1 | 5 |
| 2 | 8 |
| 3 | 9 |
| 4 | 7 |