MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Mungo/Mongodb-Abfrage mehrfach sortieren

Sie müssen beide sort setzen Begriffe in ein Objekt:

exports.getMinCuttingTime = function(number, callback){ 
    ProjectModel.find()
        .sort({totalCuttingTime: 1, favoriteCount: -1})
        .select({_id: 1})
        .limit(number)
        .exec(
            function(err, projects) {
                callback(null, projects)
            }
        );
};

Es ist erwähnenswert, dass der ECMA-262-Standard, auf dem Node.js basiert, nicht festlegt, dass die Eigenschaftsreihenfolge eines Objekts beibehalten wird, und dass es sich nur um einen De-facto-Standard handelt, um die Einfügereihenfolge abzugleichen. Um jeden Zweifel auszuräumen, können Sie stattdessen ein Array verwenden:

.sort([['totalCuttingTime', 1], ['favoriteCount', -1]])