$-operatøren
er til brug i opdateringsoperatørobjektet (2. argument til update
), ikke forespørgselsvælgeren (1. argument). I forespørgselsvælgeren bør du kunne at bruge aList.bList.cList._id
, og dette ville lade aList.$.bList.$.cList
svarer til det første matchende element i den indlejrede cList
i opdateringsoperatøren.
Rediger:
Indlejret positionsbestemt ($
) operatørmatching understøttes ikke i øjeblikket. Denne billet
viser efterspørgsel efter præcis denne funktion fra lang tid siden (2010!), men tilsyneladende lavede kode på lavere niveau i mongoDB ikke dette muligt. Det ser ud til, at 10gen er håbefuldt at få denne funktion i 2.6-udgivelsen.
Det ser ud til, at du skal forespørge og opdatere separat for at opnå dette med dit nuværende skema, eller måske ændre dit skema til at være mere fladt.