Zoekopdracht
- gebruikt een systeemvariabele
$$REMOVE
als een veld deze waarde krijgt, wordt het verwijderd - dus de voorwaarde is
user.code
, oude waarde behouden indien niet"BLOCKED"
,"CANCELLED"
, else"$$REMOVE"
het veld
db.collection.aggregate([
{
"$set": {
"user.code": {
"$cond": [
{
"$in": [
"$user.status",
[
"BLOCKED",
"CANCELLED"
]
]
},
"$$REMOVE",
"$user.code"
]
}
}
}
])
Bewerken
De bovenstaande code controleert de user.status
maar u wilt al dan niet code verwijderen op basis van de user.olderAdress.status
(na het afwikkelen)(zijn 2 velden met dezelfde naamstatus)
Query (voeg dit toe na de fasen die je al hebt)
{
"$set": {
"user.code": {
"$cond": [
{
"$in": [
"$user.status",
[
"BLOCKED",
"CANCELLED"
]
]
},
"$$REMOVE",
"$user.code"
]
}
}
}