Я использую стек MEAN. В моем бэкэнде я использую функцию findByIdAndUpdate в Mongoose для выполнения операции обновления в CRUD. Я также использую средство выбора даты пользовательского интерфейса Bootstrap. При «очистке» даты uib-datepicker-popup сбрасывает значение области действия для поля даты на неопределенное. Теперь я передаю объект ресурса области в Mongoose с вызовом HTTP PUT angular $resource, он не будет передавать нулевые свойства в объекте json. Мое поле даты просто отсутствует и не заполнено в объекте json и выводится. Поэтому исходная дата остается, и мне не удалось сбросить поле даты в документе MongoDB.
Как мне подойти к удалению определенного поля, как при отключении с Mongoose, встроенным в «findByIdAndUpdate»?
{ a: 1, b: 2, c: 3 }
, и вы отправляете{ a: 2, b: 3 }
, и это документ, который вы хотите сохранить. Не{ a: 2, b: 3, c: 3 }
, что вы сейчас получаете. Это оно? - person Neil Lunn   schedule 19.10.2017"overwrite": true
, которую можно установить для всех вариантов обновления. Все, что вам нужно, это указать объект для замены и включить перезапись в параметрах, как показано на дубликате. - person Neil Lunn   schedule 19.10.2017upsert
иoverwrite
? Они оба, кажется, перезаписывают ответ, опубликованный в исходном / дублирующем вопросе. - person MMFC   schedule 19.10.2017overwrite
, хотя в основном он восстанавливает поведение по умолчанию того, что делает драйвер, из того, как мангуст изменяет его для удобства. - person Neil Lunn   schedule 20.10.2017