sql >> Databasteknik >  >> NoSQL >> MongoDB

Mongo aggregeringsramverk, sortera och sedan grupp fungerar inte

När du $group efter en $sort i pipeline går den tidigare sorten förlorad. Du måste göra något liknande istället så att datumet du vill sortera efter är tillgängligt efter grupperingen:

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

resultat:

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

Lägg till ett $project till slutet av pipelinen om du vill omforma utdata.




  1. mongodb:använd kapslade dokument eller separata samlingar med referenser

  2. Fel:Route.post() kräver callback-funktioner men fick ett [object Undefined]

  3. Hur använder man MongoDB med löften i Node.js?

  4. Redis/Jedis ingen enskild felpunkt och automatiserad failover