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

consulta de mangusto/mongodb classificação múltipla


Você precisa colocar tanto sort termos em um objeto:
exports.getMinCuttingTime = function(number, callback){ 
    ProjectModel.find()
        .sort({totalCuttingTime: 1, favoriteCount: -1})
        .select({_id: 1})
        .limit(number)
        .exec(
            function(err, projects) {
                callback(null, projects)
            }
        );
};

Vale a pena notar que o padrão ECMA-262 no qual o Node.js é baseado não especifica que a ordem de propriedade de um objeto seja mantida e é apenas um padrão de fato para corresponder à ordem de inserção. Para eliminar qualquer dúvida, você pode usar um array:
.sort([['totalCuttingTime', 1], ['favoriteCount', -1]])