0

最も費用がかからず、評価数が最も多く、平均評価が最も高いプロジェクトを見つけます。これは正しい方法ですか?

exports.getBestEconomicalProject = function(number, callback){  
    var result = ProjectModel.find().sort({averageCost: 1}, {ratingCount : -1}, {averageRating : -1}).select({_id: 1}).limit(number).exec(
            function(err, projects) {
                callback(null, projects)
            }
        );  
    return result;
}
4

1 に答える 1

2

sortすべての用語を 1 つのオブジェクトに結合する必要があります。

exports.getBestEconomicalProject = function(number, callback){  
    var result = ProjectModel.find()
        .sort({averageCost: 1, ratingCount : -1, averageRating : -1})
        .select({_id: 1})
        .limit(number)
        .exec(
            function(err, projects) {
                callback(null, projects)
            }
        );  
    return result;
}

または、次の文字列形式を使用しますsort

exports.getBestEconomicalProject = function(number, callback){  
    var result = ProjectModel.find()
        .sort('averageCost -ratingCount -averageRating')
        .select({_id: 1})
        .limit(number)
        .exec(
            function(err, projects) {
                callback(null, projects)
            }
        );  
    return result;
}
于 2012-11-28T18:39:42.020 に答える