Странное поведение Mon goose FindByIdAndUpdate - почему он удаляет документ вместо обновления? - PullRequest
1 голос
/ 21 марта 2020

Рассмотрим код:

await Employees.findByIdAndUpdate(
      empId,
      {
        Absence: newAbsenceCode,
        InsertDate: undefined,
        RegistrationDate: undefined
      },
      {
        new: true,
        runValidators: true
      }
    );

Я обновляю только одно поле, newAbsenceCode, однако по какой-то странной причине findByIdAndUpdate удаляет документ.

Я проверял это несколько раз, и документ действительно удален, почему?

1 Ответ

0 голосов
/ 21 марта 2020

Вам необходимо добавить omitUndefined:true параметр

await Employees.findByIdAndUpdate(
  empId,
  {
    Absence: newAbsenceCode,
    InsertDate: undefined,
    RegistrationDate: undefined
  },
  {
    new: true,
    omitUndefined:true,
    runValidators: true
  }
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...