sql >> Databáze >  >> NoSQL >> MongoDB

Mongo agregační rámec, řazení a seskupování nefunguje

Když $group za $sort v potrubí se předchozí řazení ztratí. Místo toho byste museli udělat něco takového, aby datum, podle kterého chcete seřadit, bylo po seskupení k dispozici:

db.summary.aggregate(
    {$match: {circles: 2}},
    {$group: {_id: '$cid', date: {$max: '$date'}}},
    {$sort: {date: -1}});

výsledek:

[ { _id: 2, date: 5 }, 
  { _id: 1, date: 2 }, 
  { _id: 3, date: 0 } ]

Přidejte $project na konec kanálu, pokud chcete změnit tvar výstupu.




  1. Redis skenování přeskakování kláves

  2. Doporučený způsob odstranění objektu v MongoDB na základě trasy

  3. Multiprocessing Pymongo

  4. secureIndex v mongodb