Zapytanie
- używa zmiennej systemowej
$$REMOVEjeśli pole otrzyma tę wartość, zostanie usunięte - więc warunek to
user.code, zachowaj starą wartość, jeśli nie"BLOCKED","CANCELLED", w przeciwnym razie"$$REMOVE"pole
db.collection.aggregate([
{
"$set": {
"user.code": {
"$cond": [
{
"$in": [
"$user.status",
[
"BLOCKED",
"CANCELLED"
]
]
},
"$$REMOVE",
"$user.code"
]
}
}
}
])
Edytuj
Powyższy kod sprawdza user.status ale chcesz usunąć kod, czy nie w oparciu o user.olderAdress.status (po odprężeniu)(jego 2 pola o tym samym statusie nazwy)
Zapytanie (dodaj to po etapach, które już masz)
{
"$set": {
"user.code": {
"$cond": [
{
"$in": [
"$user.status",
[
"BLOCKED",
"CANCELLED"
]
]
},
"$$REMOVE",
"$user.code"
]
}
}
}