оператор $
е за използване в обекта на оператора за актуализиране (2-ри аргумент на update
), не селекторът на заявката (1-ви аргумент). В селектора на заявки би трябвало да можете за да използвате aList.bList.cList._id
и това би позволило на aList.$.bList.$.cList
съответстват на първия съответстващ елемент на вградения cList
в оператора за актуализиране.
Редактиране:
Вложен позиционен ($
) Съпоставянето на оператори не се поддържа в момента. Този билет
показва търсене на точно тази функция от преди много време (2010!), но очевидно кодът от по-ниско ниво в mongoDB не направи това възможно. Изглежда 10gen се надява да получи тази функция във версия 2.6.
Изглежда, че ще трябва отделно да правите заявки и да актуализирате, за да постигнете това с текущата си схема, или може би да промените схемата си, за да бъде по-плоска.