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

MongoDB $-Operator

Der $-Operator wird im Aktualisierungsoperatorobjekt verwendet (2. Argument für update ), nicht der Abfrageselektor (1. Argument). In der Abfrageauswahl sollten Sie in der Lage sein um aList.bList.cList._id zu verwenden , und dies würde aList.$.bList.$.cList lassen entsprechen dem ersten übereinstimmenden Element der eingebetteten cList im Update-Operator.

Bearbeiten:

Verschachtelte Position ($ ) wird der Operatorabgleich derzeit nicht unterstützt. Dieses Ticket zeigt die Nachfrage nach genau dieser Funktion seit langer Zeit (2010!), aber anscheinend hat niedrigerer Code innerhalb von mongoDB dies nicht möglich gemacht. Es scheint, dass 10gen hofft, diese Funktion in der Version 2.6 zu erhalten.

Es sieht so aus, als müssten Sie separat abfragen und aktualisieren, um dies mit Ihrem aktuellen Schema zu erreichen, oder vielleicht Ihr Schema so ändern, dass es flacher wird.