Viz sort()
definice.
sort({_id: -1, upvotes_count: -1})
znamená seřadit _id
nejprve seřaďte upvotes_count
podle objednávky popisu pouze pro stejné _id
příspěvky. Bohužel _id
je ObjectId
, což je 12bajtový typ BSON, vytvořený pomocí:
- 4bajtová hodnota představující sekundy od epochy Unixu,
- 3bajtový identifikátor počítače,
- 2bajtové ID procesu a
- 3bajtový čítač začínající náhodnou hodnotou.
Je těžké získat stejné ObjectId
. Konkrétně _id
každý záznam by měl být v tomto dokumentu jedinečný. Výsledkem je, že výsledky vašich testovacích kódů jsou seřazeny podle _id
popis
Zde je jeden příklad,
+---------+---------------+
| _id | upvote_count |
+---------+---------------+
| 1 | 5 |
| 4 | 7 |
| 3 | 9 |
| 4 | 8 |
Výsledek sort({_id: -1, upvotes_count: -1})
by mělo být
+---------+---------------+
| _id | upvote_count |
+---------+---------------+
| 4 | 8 |
| 4 | 7 |
| 3 | 9 |
| 1 | 5 |
upvote_count
by byly seřazeny podle stejného _id
.
Nicméně v tomto případě. Existuje stejné _id
v tomto případě.
+---------+---------------+
| _id | upvote_count |
+---------+---------------+
| 1 | 5 |
| 4 | 7 |
| 3 | 9 |
| 2 | 8 |
Výsledek sort({_id: -1, upvotes_count: -1})
by mělo být
+---------+---------------+
| _id | upvote_count |
+---------+---------------+
| 1 | 5 |
| 2 | 8 |
| 3 | 9 |
| 4 | 7 |