Mam kolekcję z wielu podobnych dokumentów zorganizowanego, dwa dokumentu wyglądaAgregacja z aktualizacji MongoDB
Wejście:
{
"_id": ObjectId("525c22348771ebd7b179add8"),
"cust_id": "A1234",
"score": 500,
"status": "A"
"clear": "No"
}
{
"_id": ObjectId("525c22348771ebd7b179add9"),
"cust_id": "A1234",
"score": 1600,
"status": "B"
"clear": "No"
}
Domyślnie clear
dla wszystkich dokumentów jest "No"
,
Req: Muszę dodać wynik wszystkich dokumentów z tym samym cust_id
, pod warunkiem, że należą one do status
"A"
i "B"
. Jeśli score
przekracza 2000
, to muszę zaktualizować atrybut clear
do "Yes"
dla całego dokumentu z tym samym cust_id
.
oczekiwany wynik:
{
"_id": ObjectId("525c22348771ebd7b179add8"),
"cust_id": "A1234",
"score": 500,
"status": "A"
"clear": "Yes"
}
{
"_id": ObjectId("525c22348771ebd7b179add9"),
"cust_id": "A1234",
"score": 1600,
"status": "B"
"clear": "Yes"
}
Tak, bo 1600 + 500 = 2100 i 2100> 2000.
moje podejście: Udało mi tylko, aby uzyskać sumę przez funkcję zagregowanego ale nie udało się zaktualizować:
Proszę zasugerować, jak mogę kontynuować.
góry dzięki :)
Mógłbyś opisać jak doszło do awarii? Czy był jakiś błąd, czy coś w tym stylu? –
Brak błędów per se, ale trudno mi było mieć aktualizację i agregację funkcji razem w oświadczeniu, jestem bardzo nowy w mongodb, próbuję scenariusza w cmd. – Sam