Ich habe ein Dokument in Mongodb mit 2 Ebenen tief verschachtelten Array von Objekten, die ich aktualisieren muss, so etwas.Mongodb ein Objekt in multi-geschachtelten Array aktualisieren
{
"id":12362,
"onGoing":[
{
"id":14597,
"offers":[
{
"id":56897,
"status":"validated"
},
{
"id":86127,
"status":"validated"
}
]
},
{
"id":89451,
"offers":[
{
"id":12235,
"status":"validated"
},
{
"id":56457,
"status":"validated"
}
]
}
]
}
Ich möchte alle Angebote aktualisieren, die mit ihrer ID übereinstimmen.
Ich habe wie
db.repairJobs.update({
"onGoing.offers":{
$elemMatch:{
_id:{
$in:[
'56897', '56457'
]
}
}
}
},
{
$set:{
"ongoing.offers.$.status":"ACCEPTED"
}
});
Aber immer den Fehler zu aktualisieren versucht: kann nicht den Teil (laufend von ongoing.offers.0.status) das Element zu durchqueren ({laufenden: [{_id: null ...
gibt es Möglichkeiten zu aktualisieren, müssen die Lösung mit Feder Daten kompatibel sein.
Danke für die Antwort – user3794642