Fråga
- använder en systemvariabel
$$REMOVE
om ett fält får detta värde tas det bort - så villkoret är
user.code
, behåll det gamla värdet om inte"BLOCKED"
,"CANCELLED"
, annars"$$REMOVE"
fältet
db.collection.aggregate([
{
"$set": {
"user.code": {
"$cond": [
{
"$in": [
"$user.status",
[
"BLOCKED",
"CANCELLED"
]
]
},
"$$REMOVE",
"$user.code"
]
}
}
}
])
Redigera
Ovanstående kod kontrollerar user.status
men du vill ta bort koden eller inte baserat på user.olderAdress.status
(efter avkopplingen) (dess 2 fält med samma namn status)
Fråga (lägg till detta efter de steg du redan har)
{
"$set": {
"user.code": {
"$cond": [
{
"$in": [
"$user.status",
[
"BLOCKED",
"CANCELLED"
]
]
},
"$$REMOVE",
"$user.code"
]
}
}
}