Siehe sort()
Definition.
sort({_id: -1, upvotes_count: -1})
bedeutet die _id
sortieren sortieren Sie zuerst upvotes_count
per Desc-Reihenfolge nur für diese gleichen _id
Beiträge. Leider ist die _id
ist ObjectId
, der ein 12-Byte-BSON-Typ ist, konstruiert mit:
- ein 4-Byte-Wert, der die Sekunden seit der Unix-Epoche darstellt,
- eine 3-Byte-Maschinenkennung,
- eine 2-Byte-Prozess-ID und
- ein 3-Byte-Zähler, beginnend mit einem zufälligen Wert.
Es ist schwierig, dieselbe ObjectId
zu erhalten . Nämlich die _id
jedes Datensatzes sollte in diesem Dokument eindeutig sein. Als Ergebnis werden die Ergebnisse Ihrer Testcodes einfach nach _id
geordnet Bez.
Hier ist ein Beispiel,
+---------+---------------+
| _id | upvote_count |
+---------+---------------+
| 1 | 5 |
| 4 | 7 |
| 3 | 9 |
| 4 | 8 |
Das Ergebnis von sort({_id: -1, upvotes_count: -1})
sollte
+---------+---------------+
| _id | upvote_count |
+---------+---------------+
| 4 | 8 |
| 4 | 7 |
| 3 | 9 |
| 1 | 5 |
Der upvote_count
nach derselben _id
sortiert werden .
Allerdings in diesem Fall. Es gibt dieselbe _id
in diesem Fall.
+---------+---------------+
| _id | upvote_count |
+---------+---------------+
| 1 | 5 |
| 4 | 7 |
| 3 | 9 |
| 2 | 8 |
Das Ergebnis von sort({_id: -1, upvotes_count: -1})
sollte
+---------+---------------+
| _id | upvote_count |
+---------+---------------+
| 1 | 5 |
| 2 | 8 |
| 3 | 9 |
| 4 | 7 |