Я пытаюсь обновить весь документ, используя mongoose.
myModel.update({_id:item._id}, item, {overwrite: true});
Я узнал, что с помощью параметра overwrite
документ можно перезаписать, а не только обновлять поля в объекте мангуста. (Странно то, что поведение монго по умолчанию перезаписывается)
Проблема в том, что когда я пытаюсь обновить документ, в котором удалено поле Date
, я получаю сообщение об ошибке Cannot read property 'constructor' of undefined
. Я считаю, что это происходит, потому что в моей схеме удаленное поле определяется как Date
, а исключение мангуста выдает исключение при преобразовании undefined в Date
. Поэтому я смущен, как я могу обновить документ, где поле даты является необязательным. Итак, скажем, мой исходный документ:
{_id: id, startDate: myDate, title: "title"}
Когда я пытаюсь обновить документ следующим образом, я получаю исключение:
{_id: id, title: "title"}
В основном мой вопрос заключается в том, как я могу перезаписать документ, в котором поле даты является необязательным, поэтому документ может быть создан с полем даты, но это может быть удалено в будущем.