sql >> Database >  >> NoSQL >> MongoDB

mongodb aggregatie sorteren

Je had het bijna...

db.test.aggregate(
  {$group: {_id: '$postcode', students: {$sum: 1}}}, 
  {$sort: {_id: -1}}
);

geeft (ik heb enkele testgegevens toegevoegd die overeenkomen met uw steekproef):

{
  "result" : [
    {
        "_id" : 2003,
        "students" : 3
    },
    {
        "_id" : 2002,
        "students" : 1
    },
    {
        "_id" : 2001,
        "students" : 2
    }
  ],
  "ok" : 1
}

Je had een buitenste {} rond alles, wat enige verwarring veroorzaakte. Het groeperen en sorteren werkten niet als afzonderlijke bewerkingen in de pijplijn.

Je had het project niet echt nodig voor dit geval.

Bijwerken U wilt waarschijnlijk sorteren op "studenten", zoals zo, om eerst de grootste postcodes (op populatie) te krijgen:

db.test.aggregate(
  {$group: {_id: '$postcode', students: {$sum: 1}}}, 
  {$sort: {students: -1}}
);


  1. Hoe redis-gegevens herstellen van snapshot (rdb-bestand) gekopieerd van een andere machine?

  2. Verwijder een subdocument dat is genest in een array in MongoDB

  3. Alle gedetailleerde en specifieke redenen waarom MongoDB veel sneller is dan SQL DB's?

  4. Over char b-voorvoegsel in Python3.4.1-client verbinden met redis