Fråga
- använder en systemvariabel
$$REMOVEom 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"
]
}
}
}