Узел js извлекает последнюю запись вставки по метке времени - PullRequest
0 голосов
/ 16 января 2019

Я разработал службу отдыха с использованием Node JS и Express с Mongo DB. Я разработал POST-сервис с определенным запросом, используя оператор или, и вывод записей более одного. Я хотел бы получить только последнюю вставку по полю отметки времени Это мой код

router.post('/sensor/storico', VerifyToken, function(req,res) {
Sensor.find({$or:[{"machineIdentifier": req.body.machineIdentifier}, {"tire": req.body.tire}]}, (err, sensors) => {
    if (err) {
        console.log(err);
        return res.status(400).send({ status: 'ko', data: {msg: err.message }});
    }
        res.status(200).send({status: 'ok', data: {msg: 'Sensor', version: sensors}});
          });
      });

Как я могу отфильтровать результат и извлечь только последнюю вставку записи по полю временной отметки?

Спасибо

1 Ответ

0 голосов
/ 16 января 2019

Попробуйте использовать следующим образом:

Сначала вы можете отсортировать результаты, используя метод sort () .Метод sort () упорядочивает документы в наборе результатов, затем вы можете использовать метод limit () , чтобы указать максимальное количество документов, которое будет возвращать курсор.

router.post('/sensor/storico', VerifyToken, function(req,res) {
Sensor.find({$or:[{"machineIdentifier": req.body.machineIdentifier}, {"tire": req.body.tire}]}).sort({createdAt: -1}).limit(1).exec(function(err, sensors){
    if (err) {
        console.log(err);
        return res.status(400).send({ status: 'ko', data: {msg: err.message }});
    }
        res.status(200).send({status: 'ok', data: {msg: 'Sensor', version: sensors}});
          });
      }); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...