Установить поле как пустое для объекта монго с использованием мангуста

Я вызываю user.save() для объекта, где я устанавливаю user.signup_date = null;

user.first_name = null;
user.signup_date = null;

user.save();

Но когда я смотрю на пользователя в mongodb, у него все еще есть signup_date и first_name set... как я могу эффективно установить это поле как пустое или нулевое?

Ответы

Ответ 1

Чтобы удалить эти свойства из существующего документа, перед сохранением документа установите undefined вместо null:

user.first_name = undefined;
user.signup_date = undefined;

user.save();

Ответ 2

Есть ли разница, если вы попробуете метод set, например:

user.set('first_name', null);
user.set('signup_date', null);
user.save();

Или может быть ошибка при сохранении, что произойдет, если вы выполните:

user.save(function (err) {
    if (err) console.log(err);
});

Печатает ли что-нибудь в журнале?

Ответ 3

Просто удалите поля

delete user.first_name;
delete user.signup_date;
user.save();