Domanda

usando MongoDB con mangusta:

Il mio codice corrente restituisce i documenti corretti, ma li invia al client nell'ordine sbagliato. Ho provato ad aggiungere un altro comando sort dopo la .limit () per invertire questo, ma non ha funzionato bene. Tutte le idee per rendere questo accada all'interno della chiamata db invece di codice aggiuntivo per invertire l'ordine?

Item.find().sort('_id','descending').limit(40).each(function(err, doc) {
    if(doc != null){
        client.send(JSON.stringify(doc));       
    }
});
È stato utile?

Soluzione

come su questo?

var orderedList = new Array();
Item.find().sort('_id','descending').limit(40).each(function(err, doc) {
    orderedList.push(doc);
});

for (var i=orderedList.length; i>=0; i--){
   orderedList[i].doYourThang..
}

Prova: JQuery .each () all'indietro per la retromarcia () Plugin

Altri suggerimenti

A seconda del contesto reale del vostro MongoDB Query provare questo (Client.js meteorici):

Item.find({}, { sort: { _id: -1 } })

o in guscio db quel codice:

Item.find({}).sort({'_id': -1});
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top