无法“删除”猫鼬文档中对象的属性[重复]
Posted
技术标签:
【中文标题】无法“删除”猫鼬文档中对象的属性[重复]【英文标题】:Unable to "delete" the property of the object in mongoose Document [duplicate] 【发布时间】:2020-12-22 05:02:10 【问题描述】:我无法从 mongoose 中删除(在 mongoose 中,它称为未设置)该字段,但 $unset
正在工作。下面的例子将很好地展示我的问题。
没有$unset
let user = await User.findById(user_id);
delete user.last_name;
await user.save();
user = await User.findById(user_id);
console.log(user.last_name); // Santiago
$unset
await User.findByIdAndUpdate(user_id, $unset: last_name: true );
let user = await User.findById(user_id);
console.log(user.last_name); // undefined
【问题讨论】:
【参考方案1】:user
Document 实例的 last_name
属性是 Mongoose 从模型架构中添加的 getter,以使生活更轻松。
您可能能够delete
的真实文档保存在一个内部变量中。
您可以将字段设置为undefined
,猫鼬会为您解决:
user.last_name = undefined
await user.save()
【讨论】:
以上是关于无法“删除”猫鼬文档中对象的属性[重复]的主要内容,如果未能解决你的问题,请参考以下文章