MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Mongoose classifica o resultado agregado


Os resultados retornados do pipeline de agregação são apenas objetos simples. Então você faz a classificação como um estágio de pipeline, não como uma operação separada:
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
    }
);

Portanto, existem vários operadores de pipeline que podem ser usados ​​para $group ou $sort ou $limit e outras coisas também. Estes podem ser apresentados em qualquer ordem e quantas vezes forem necessárias. Apenas entender que um estágio de "pipeline" flui para o próximo para agir.