operator $
jest do użycia w obiekcie operatora aktualizacji (2. argument do update
), nie selektor zapytania (1. argument). W selektorze zapytań powinnaś umieć aby użyć aList.bList.cList._id
, a to pozwoliłoby aList.$.bList.$.cList
odpowiadają pierwszemu pasującemu elementowi osadzonego cList
w operatorze aktualizacji.
Edytuj:
Zagnieżdżone położenie ($
) dopasowanie operatorów nie jest obecnie obsługiwane. Ten bilet
pokazuje zapotrzebowanie na dokładnie tę funkcję od dawna (2010!), ale najwyraźniej kod niższego poziomu w ramach mongoDB nie umożliwił tego. Wygląda na to, że 10gen ma nadzieję na uzyskanie tej funkcji w wydaniu 2.6.
Wygląda na to, że będziesz musiał osobno wysyłać zapytania i aktualizować, aby osiągnąć to z bieżącym schematem, lub być może zmienić schemat, aby był bardziej płaski.