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 |