使用mongoose将字段设置为空的mongo对象

cho*_*ovy 17 mongoose mongodb node.js

我在一个对象上调用user.save(),我在其中设置user.signup_date = null;

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

user.save();
Run Code Online (Sandbox Code Playgroud)

但是,当我在mongodb中查看用户时,它仍然具有signup_date和first_name设置...如何有效地将此字段设置为空或null?

Joh*_*yHK 38

要从现有文档中删除这些属性,请将其设置为undefined而不是null在保存文档之前:

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

user.save();
Run Code Online (Sandbox Code Playgroud)


joa*_*eng 6

如果您尝试使用 set 方法,会有什么不同吗,如下所示:

user.set('first_name', null);
user.set('signup_date', null);
user.save();
Run Code Online (Sandbox Code Playgroud)

或者保存时可能出现错误,如果这样做会发生什么:

user.save(function (err) {
    if (err) console.log(err);
});
Run Code Online (Sandbox Code Playgroud)

它会在日志中打印任何内容吗?