sql >> Database >  >> NoSQL >> MongoDB

Hoe twee velden met mangoest sorteren?

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        |


  1. Datumbereikquery mislukt voor MongoDB-database met tweets

  2. Spring boot mongoDB zoals query op numerieke velden-Integer / Double

  3. Hoe moet ik verbinding maken met een Redis-instantie vanuit een AWS Lambda-functie?

  4. MongoDB - Hoe kan ik meerdere groepen in een aggregatiepijplijn gebruiken?