Skriver du dette i robomongo? Det ligner det! I så fald virker det ikke. Læs min note om opdatering af et indlejret array med MongoDB, hvor jeg siger, at dette ikke virker i en "ældre shell" eller noget baseret på det (hvilket robomongo er en shell-baseret build) på grund af den måde, shell-hjælper-metoderne i øjeblikket er implementeret på:
BEMÆRK Lidt ironisk, da dette er angivet i "options"-argumentet for .update()
og ligesom metoder er syntaksen generelt kompatibel med alle nyere udgivelsesdriverversioner.
Dette er dog ikke sandt for mongo
shell, da måden metoden er implementeret der ("ironisk nok for bagudkompatibilitet") arrayFilters
argument genkendes og fjernes ikke af en intern metode, der analyserer mulighederne for at levere "bagudkompatibilitet" med tidligere MongoDB-serverversioner og en "legacy" .update()
API-opkaldssyntaks.
Så hvis du vil bruge kommandoen i mongo
shell eller andre "skalbaserede" produkter (især Robo 3T), skal du bruge en seneste version fra enten udviklingsgrenen eller produktionsudgivelsen fra 3.6 eller nyere.
Så hvis du vil "lege med" udgivelseskandidaten, skal du enten bruge den medfølgende mongo
skal med den version eller blot køre din kode gennem en hvilken som helst standarddriver.