Typ je dit in robomongo? Het lijkt erop! Als dat zo is, zal het niet werken. Lees mijn opmerking over het bijwerken van een geneste array met MongoDB, waar ik zeg dat dit niet werkt in een "oudere shell" of iets daarop gebaseerd (welke robomongo een op shell gebaseerde build is) vanwege de manier waarop de shell-helpermethoden momenteel worden geïmplementeerd:
OPMERKING Enigszins ironisch, aangezien dit is gespecificeerd in het argument "opties" voor
.update()
en net als bij methoden is de syntaxis over het algemeen compatibel met alle recente versies van stuurprogramma's.Dit geldt echter niet voor de
mongo
shell, aangezien de manier waarop de methode daar is geïmplementeerd ("ironisch genoeg voor achterwaartse compatibiliteit") dearrayFilters
argument wordt niet herkend en verwijderd door een interne methode die de opties parseert om "achterwaartse compatibiliteit" te leveren met eerdere MongoDB-serverversies en een "legacy".update()
API-aanroepsyntaxis.Dus als je het commando in de
mongo
. wilt gebruiken shell of andere "shell-gebaseerde" producten (met name Robo 3T) je hebt een laatste versie nodig van de ontwikkelingstak of de productierelease vanaf 3.6 of hoger.
Dus als je wilt "spelen" met de release candidate, gebruik dan ofwel de gebundelde mongo
shell met die versie of voer je code gewoon door een standaardstuurprogramma.