Requête
- utilise une variable système
$$REMOVEsi 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"
]
}
}
}