MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Aktualisieren Sie ein Element in einem Array, das sich in einem Array befindet

Sie müssen diese (anscheinend äquivalente) Abfrage verwenden:

db.mycollection.update({"sessions.0.issues": {$elemMatch: {id: <yourValue>}}}, {$set: {"sessions.0.issues.$.text": "newText"}})

Beachten Sie, dass Ihr Aktualisierungsausdruck korrekt war.

Weitere Informationen zu $elemMatch .

Übrigens, die MongoDB-Referenz erklärt, dass der $-Operator nicht "mit Abfragen funktioniert, die verschachtelte Arrays durchlaufen".

Wichtig :$elemMatch funktioniert nur mit Version 4 oder höher.