Dotaz
- používá systémovou proměnnou
$$REMOVEpokud pole získá tuto hodnotu, je odstraněno - podmínka je tedy
user.code, ponechte starou hodnotu, pokud není"BLOCKED","CANCELLED", jinak"$$REMOVE"pole
db.collection.aggregate([
{
"$set": {
"user.code": {
"$cond": [
{
"$in": [
"$user.status",
[
"BLOCKED",
"CANCELLED"
]
]
},
"$$REMOVE",
"$user.code"
]
}
}
}
])
Upravit
Výše uvedený kód kontroluje user.status ale chcete odstranit kód nebo nikoli na základě user.olderAdress.status (po uvolnění) (jeho 2 pole se stejným názvem)
Dotaz (toto přidejte po fázích, které již máte)
{
"$set": {
"user.code": {
"$cond": [
{
"$in": [
"$user.status",
[
"BLOCKED",
"CANCELLED"
]
]
},
"$$REMOVE",
"$user.code"
]
}
}
}