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 |