Получение последних значений коллекции в NodeJS / Mongo - PullRequest
0 голосов
/ 02 мая 2020

Я пытаюсь получить последние значения (последние обновления) в этом массиве, но код ниже просто возвращает последний объект / объекты из всех. Если я увеличу лимит до 5, я получу 2 яблока 2 банана 1 вишня. Мне просто нужны последние значения для всех. У меня есть 20 фруктов для этого и 150+ записей. Мне нужно выбрать последние значения для 20 фруктов. Спасибо за вашу помощь.

const last_finder = function (collectionName) {
    MongoClient.connect(url, function(err, db) {
        if (err) throw err;
        var dbo = db.db(dbName);
        dbo.collection(collectionName).find({}, {sort:{_id:-1}}).limit(1).toArray(function(err, result) {
            if (err) throw err;
            console.log(result);
            db.close();
        });
    });
}
The result:
{
    _id: 0,
    date: ' 01:30:51',
    name: 'Banana',
    value: '3.9'
  },
  {
    _id: 1,
    date: ' 01:33:51',
    name: 'Apple',
    value: '2.45'
  },
  {
    _id: 2,
    date: ' 01:34:50',
    name: 'Banana',
    value: '3.8'
  },
  {
    _id: 3,
    date: ' 01:34:59',
    name: 'Cherry',
    value: '6.21'
  },
  {
    _id: 4,
    date: ' 01:40:50',
    name: 'Apple',
    value: '2.55'
  }
]

1 Ответ

0 голосов
/ 02 мая 2020

Пн goose немного странно, когда дело доходит до ограничения и смещения, вам нужна функция exe c после ограничения,

dbo.collection(collectionName).find({}, {sort:{_id:-1}}).limit(1).exec(function(e, data){
        console.log(data)
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...