Dotaz
- používá systémovou proměnnou
$$REMOVE
pokud 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"
]
}
}
}