MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Mettre à jour un élément dans un tableau qui se trouve dans un tableau

Vous devez utiliser cette requête (apparemment équivalente) :

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

Notez que votre expression de mise à jour était correcte.

Plus d'informations sur $elemMatch .

Au fait, la référence MongoDB explicite que l'opérateur $ ne fonctionne pas "avec des requêtes qui traversent des tableaux imbriqués".

Important :$elemMatch ne fonctionne qu'avec la version 4 ou plus.