Пишете ли това в robomongo? Изглежда така! Ако е така, няма да работи. Прочетете бележката ми за актуализиране на вложен масив с MongoDB, където казвам, че това не работи в "по-стара обвивка" или нещо базирано на нея (коя robomongo е базирана на обвивка компилация) поради начина, по който в момента се прилагат помощните методи на обвивката:
ЗАБЕЛЕЖКА Донякъде иронично, тъй като това е посочено в аргумента "опции" за
.update()
и подобно на методите, синтаксисът обикновено е съвместим с всички последни версии на драйвери.Това обаче не е вярно за
mongo
shell, тъй като начина, по който методът е внедрен там ( "по ирония на съдбата за обратна съвместимост" ),arrayFilters
аргументът не се разпознава и премахва от вътрешен метод, който анализира опциите, за да осигури "обратна съвместимост" с предишни версии на сървъра на MongoDB и "наследен".update()
Синтаксис на извикване на API.Така че, ако искате да използвате командата в
mongo
shell или други „базирани на обвивка“ продукти (по-специално Robo 3T) имате нужда от най-новата версия от клона за разработка или от производствената версия от 3.6 или по-нова версия.
Така че, ако искате да "играете" с кандидата за пускане, използвайте или пакетния mongo
shell с тази версия или просто стартирайте кода си през всеки стандартен драйвер.