Musíte použít tento (zřejmě ekvivalentní) dotaz:
db.mycollection.update({"sessions.0.issues": {$elemMatch: {id: <yourValue>}}}, {$set: {"sessions.0.issues.$.text": "newText"}})
Všimněte si, že váš aktualizační výraz byl správný.
Další informace o $elemMatch
.
Mimochodem, reference MongoDB explicitně uvádí, že operátor $ nepracuje "s dotazy, které procházejí vnořenými poli".
Důležité :$elemMatch
funguje pouze s verzí 4 nebo vyšší.