Se sort()
definition.
sort({_id: -1, upvotes_count: -1})
betyder sortera _id först, sortera sedan upvotes_count enligt beskrivande ordning endast för de samma _id inlägg. Tyvärr, _id är ObjectId
, som är 12-byte BSON-typ, konstruerad med:
- ett 4-byte värde som representerar sekunderna sedan Unix-epoken,
- en 3-byte maskinidentifierare,
- ett 2-byte process-id, och
- en 3-byte räknare, som börjar med ett slumpmässigt värde.
Det är svårt att få samma ObjectId . Nämligen _id av varje post ska vara unik i detta dokument. Som ett resultat sorteras resultatet av dina testkoder bara efter _id beskrivning.
Här är ett exempel,
+---------+---------------+
| _id | upvote_count |
+---------+---------------+
| 1 | 5 |
| 4 | 7 |
| 3 | 9 |
| 4 | 8 |
Resultatet av sort({_id: -1, upvotes_count: -1}) bör vara
+---------+---------------+
| _id | upvote_count |
+---------+---------------+
| 4 | 8 |
| 4 | 7 |
| 3 | 9 |
| 1 | 5 |
upvote_count skulle sorteras efter samma _id .
Men i det här fallet. Det finns på samma _id i det här fallet.
+---------+---------------+
| _id | upvote_count |
+---------+---------------+
| 1 | 5 |
| 4 | 7 |
| 3 | 9 |
| 2 | 8 |
Resultatet av sort({_id: -1, upvotes_count: -1}) bör vara
+---------+---------------+
| _id | upvote_count |
+---------+---------------+
| 1 | 5 |
| 2 | 8 |
| 3 | 9 |
| 4 | 7 |