К сожалению, у меня нет записи, на которой я могу проверить это, но я не могу найти никакой информации об этом в любом месте.MongoDB/Mongoose: MarkModified вложенный объект
Скажем, у меня есть документ, как это:
{
email: {
type: 'Gmail',
data: {//freeform data},
}
}
Я хочу обновить doc.email.data
. Мне нужно использовать markModified()
, иначе данные не будут сохранены правильно.
Я отмечу как измененный?
doc.email.data = newData;
doc.markModified('email.data');
doc.save();
Или я просто markModified('email')
и Mongoose будут работать остальные?
Спасибо Джонни. Выполняет ли 'doc.markModified ('email')' все еще вызывает обновление свойства 'data'? Я предполагаю, что это просто дороже, чего я не хочу, но я пытаюсь понять, как это работает. – Jascination
@Jascination Я бы ожидал, что это тоже сработает, но оно будет обновлять весь объект 'email' вместо того, что вам нужно. – JohnnyHK