クエリ
- システム変数
$$REMOVE
を使用します フィールドがこの値を取得すると、削除されます - したがって、条件は
user.code
です。 、"BLOCKED"
でない場合は、古い値を保持します 、"CANCELLED"
、それ以外の場合は"$$REMOVE"
フィールド
db.collection.aggregate([
{
"$set": {
"user.code": {
"$cond": [
{
"$in": [
"$user.status",
[
"BLOCKED",
"CANCELLED"
]
]
},
"$$REMOVE",
"$user.code"
]
}
}
}
])
編集
上記のコードはuser.status
をチェックします ただし、user.olderAdress.status
に基づいてコードを削除するかどうかを指定します (巻き戻し後)(同じ名前のステータスを持つ2つのフィールド)
クエリ(すでにあるステージの後にこれを追加します)
{
"$set": {
"user.code": {
"$cond": [
{
"$in": [
"$user.status",
[
"BLOCKED",
"CANCELLED"
]
]
},
"$$REMOVE",
"$user.code"
]
}
}
}