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

Opérateur $ MongoDB

L'opérateur $ est à utiliser dans l'objet opérateur de mise à jour (2ème argument de update ), pas le sélecteur de requête (1er argument). Dans le sélecteur de requête, vous devriez pouvoir pour utiliser aList.bList.cList._id , et cela laisserait aList.$.bList.$.cList correspondent au premier élément correspondant du cList intégré dans l'opérateur de mise à jour.

Modifier :

Positionnel imbriqué ($ ) la correspondance des opérateurs n'est pas prise en charge actuellement. Ce ticket montre la demande pour exactement cette fonctionnalité depuis longtemps (2010 !), mais apparemment, le code de niveau inférieur dans mongoDB n'a pas rendu cela possible. Il semble que 10gen espère obtenir cette fonctionnalité dans la version 2.6.

Il semble que vous devrez interroger et mettre à jour séparément pour y parvenir avec votre schéma actuel, ou peut-être modifier votre schéma pour qu'il soit plus plat.