Interroga
- usa una variabile di sistema
$$REMOVEse un campo ottiene questo valore viene rimosso - quindi la condizione è
user.code, mantieni il vecchio valore se non"BLOCKED","CANCELLED", altrimenti"$$REMOVE"il campo
db.collection.aggregate([
{
"$set": {
"user.code": {
"$cond": [
{
"$in": [
"$user.status",
[
"BLOCKED",
"CANCELLED"
]
]
},
"$$REMOVE",
"$user.code"
]
}
}
}
])
Modifica
Il codice sopra controlla user.status ma vuoi rimuovere il codice o meno in base a user.olderAdress.status (dopo lo svolgimento)(i suoi 2 campi con lo stesso nome)
Query (aggiungi questo dopo le fasi che hai già)
{
"$set": {
"user.code": {
"$cond": [
{
"$in": [
"$user.status",
[
"BLOCKED",
"CANCELLED"
]
]
},
"$$REMOVE",
"$user.code"
]
}
}
}