我正在寻找一个端点,它将改变布尔值的状态,但如果文档中的字段不存在,则将其设置为true。
这是我的想法:
let updateUser = await User.findByIdAndUpdate(user_id, [
{
$set: {
is_blacklisted : {
$eq: [
false, "$is_blacklisted"
]
}
}
}
])
这样做很好,如果用户有字段"is_blacklisted",它会将其设置为相反,但如果字段不存在,什么也不会发生。
我想知道如果字段不存在,是否有一种方法可以设置为默认值。
我知道我可以先查找并检查该字段是否存在,但我想知道是否有替代/更好的方法只使用一个请求?
1条答案
按热度按时间v9tzhpje1#
反转匹配:
如果值为true,则将其更改为false,如果字段不存在或字段包含
true
以外的任何值,则将其设置为false。