Mongoose findOneAndUpdate возвращает не обновленную модель - PullRequest
0 голосов
/ 03 сентября 2018

У меня есть 1 маленькая проблема. Я пытаюсь обновить модель методом findOneAndUpdate. И этот метод работает неожиданно - метод обновляет модель в БД, но возвращает старую модель (до обновления)

try {
  const updatedLanding = await Landing.findOneAndUpdate({key: req.body.key}, {
      $set: {
        name: req.body.name,

      }
    },
  ).exec((err, result) => {
    if (err) {
      res.status(422).send({error: err});
      return
    }
    res.send({response: result})
  });
}
catch (e) {
  res.status(400).send(e)
}

Ответы [ 2 ]

0 голосов
/ 15 ноября 2018

Если вы обновите документ с помощью ловушки findOneAndUpdate (), вы получите старый документ, если не укажете { new: true }

0 голосов
/ 03 сентября 2018

в запросе mongoose findOneAndUpdate возвращает старую обновленную запись, а не обновленную запись, запись фактически обновлена, но вы не можете получить обновленный результат, так как запрос возвращает старую по умолчанию, если вы хотите чтобы увидеть обновленную запись, нужно выполнить другой запрос, чтобы найти запись и получить ее обновленные данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...