L'operatore $
è per l'uso nell'oggetto operatore di aggiornamento (2° argomento di update
), non il selettore di query (1° argomento). Nel selettore di query, dovresti essere in grado per utilizzare aList.bList.cList._id
, e questo consentirebbe a aList.$.bList.$.cList
corrispondono al primo elemento corrispondente del cList
incorporato nell'operatore di aggiornamento.
Modifica:
Posizionale nidificato ($
) la corrispondenza degli operatori non è attualmente supportata. Questo biglietto
mostra la richiesta di esattamente questa funzionalità da molto tempo (2010!), ma apparentemente il codice di livello inferiore all'interno di mongoDB non lo ha reso possibile. Sembra che 10gen possa sperare di ottenere questa funzionalità nella versione 2.6.
Sembra che dovrai eseguire query e aggiornare separatamente per ottenere ciò con il tuo schema attuale, o forse cambiare lo schema per renderlo più piatto.