sql >> Database teknologi >  >> NoSQL >> MongoDB

Mongodb 3.6.0-rc3 array-filtre virker ikke?

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.



  1. Befolk indlejret array i mongoose

  2. Er der et blokerende redis-bibliotek for node.js?

  3. Er master altid omdisponeret instans med mindste prioritet?

  4. 3 måder at fjerne en værdi fra et array i MongoDB