Requête
- utilise une variable système
$$REMOVE
si un champ obtient cette valeur, il est supprimé - donc la condition est
user.code
, conserver l'ancienne valeur sinon"BLOCKED"
,"CANCELLED"
, sinon"$$REMOVE"
le terrain
db.collection.aggregate([
{
"$set": {
"user.code": {
"$cond": [
{
"$in": [
"$user.status",
[
"BLOCKED",
"CANCELLED"
]
]
},
"$$REMOVE",
"$user.code"
]
}
}
}
])
Modifier
Le code ci-dessus vérifie le user.status
mais vous voulez supprimer le code ou non en fonction du user.olderAdress.status
(après le déroulement)(ses 2 champs avec le même statut de nom)
Requête (ajoutez-la après les étapes que vous avez déjà)
{
"$set": {
"user.code": {
"$cond": [
{
"$in": [
"$user.status",
[
"BLOCKED",
"CANCELLED"
]
]
},
"$$REMOVE",
"$user.code"
]
}
}
}