sql >> Database teknologi >  >> NoSQL >> MongoDB

Mongoose sorterer det aggregerede resultat

Resultaterne, der returneres fra aggregeringspipelinen, er blot almindelige objekter. Så du udfører sorteringen som et pipelinetrin, ikke som en separat operation:

Recommend.aggregate(
    [
        // Grouping pipeline
        { "$group": { 
            "_id": '$roomId', 
            "recommendCount": { "$sum": 1 }
        }},
        // Sorting pipeline
        { "$sort": { "recommendCount": -1 } },
        // Optionally limit results
        { "$limit": 5 }
    ],
    function(err,result) {

       // Result is an array of documents
    }
);

Så der er forskellige pipeline-operatører, der kan bruges til at $group eller $sort eller $limit og andre ting også. Disse kan præsenteres i vilkårlig rækkefølge, og så mange gange som nødvendigt. Bare det at forstå, at det ene "pipeline"-trin flyder, resulterer i det næste at handle på.




  1. MongoDB Find Exact Array Match, men rækkefølgen er ligegyldig

  2. MongoDB Find ydeevne:enkelt sammensat indeks VS to enkeltfeltindekser

  3. Hvorfor anbefales det ikke at bruge lagrede funktioner på serversiden i MongoDB?

  4. MongoDB $switch