Вопрос

Используя MongoDB с мангустом:

Мой текущий код возвращает правильные документы, но отправляет их клиенту в неправильном порядке. Я попытался добавить еще одну команду сортировки после .limit (), чтобы изменить это, но она не работает хорошо. Любые идеи, чтобы это произошло в рамках вызова БД вместо дополнительного кода, чтобы отменить заказ?

Item.find().sort('_id','descending').limit(40).each(function(err, doc) {
    if(doc != null){
        client.send(JSON.stringify(doc));       
    }
});
Это было полезно?

Решение

как насчет этого?

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..
}

Пытаться: JQuery. Для плагина обратного ()

Другие советы

В зависимости от фактического контекста вашего запроса MongoDB Попробуйте это (Meteor Client.js):

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

или в оболочке DB этот код:

Item.find({}).sort({'_id': -1});
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top