有没有人知道一个好方法(在MongoDB中本地或通过Mongoose)在文档属性为空时“取消设置”文档属性?用例:我有一个可选的辅助电子邮件地址字段。它不是必填字段,默认为undefined。但是一旦填充了它,我发现很难再次清除该值。我通常会使用预保存中间件,但在使用事务时,这些中间件似乎不会触发。我希望的行为是,每当值为false-y(空字符串、null等)时,就应该从文档中取消设置。我曾想过在各种模式中编写静态方法来清除其中的一些字段,但这似乎有些笨拙
6g8kf2rb1#
我希望这就是你要找的东西
let filters = [ null,false, "undefined",""]; db.collectionName.updateOne({ optionalEmail: { "$in":filters } }, { "$unset": { optioanlEmail: "" } });
1条答案
按热度按时间6g8kf2rb1#
我希望这就是你要找的东西