Raadpleeg sort()
definitie.
sort({_id: -1, upvotes_count: -1})
betekent sorteer de _id sorteer eerst upvotes_count alleen op volgorde voor die dezelfde _id posten. Helaas is de _id is ObjectId
, dat van het 12-byte BSON-type is, geconstrueerd met:
- een waarde van 4 bytes die de seconden vertegenwoordigt sinds het Unix-tijdperk,
- een machine-ID van 3 bytes,
- een 2-byte proces-ID, en
- een 3-byte teller, beginnend met een willekeurige waarde.
Het is moeilijk om dezelfde ObjectId . te krijgen . Namelijk de _id van elk record moet uniek zijn in dit document. Als gevolg hiervan worden de resultaten van uw testcodes gewoon gerangschikt op _id besch.
Hier is een voorbeeld,
+---------+---------------+
| _id | upvote_count |
+---------+---------------+
| 1 | 5 |
| 4 | 7 |
| 3 | 9 |
| 4 | 8 |
Het resultaat van sort({_id: -1, upvotes_count: -1}) zou moeten zijn
+---------+---------------+
| _id | upvote_count |
+---------+---------------+
| 4 | 8 |
| 4 | 7 |
| 3 | 9 |
| 1 | 5 |
De upvote_count zou worden gesorteerd op dezelfde _id .
In dit geval echter. Er is op dezelfde _id in dit geval.
+---------+---------------+
| _id | upvote_count |
+---------+---------------+
| 1 | 5 |
| 4 | 7 |
| 3 | 9 |
| 2 | 8 |
Het resultaat van sort({_id: -1, upvotes_count: -1}) zou moeten zijn
+---------+---------------+
| _id | upvote_count |
+---------+---------------+
| 1 | 5 |
| 2 | 8 |
| 3 | 9 |
| 4 | 7 |