sql >> Databasteknik >  >> NoSQL >> MongoDB

Mongodb 3.6.0-rc3-arrayfilter fungerar inte?

Skriver du detta i robomongo? Det ser ut som det! Om så är fallet kommer det inte att fungera. Läs min anteckning om att uppdatera en kapslad array med MongoDB där jag säger att detta inte fungerar i ett "äldre skal" eller något baserat på det (vilket robomongo är en skalbaserad konstruktion) på grund av hur skalhjälpmetoderna för närvarande är implementerade:

OBS Något ironiskt, eftersom detta anges i "alternativ"-argumentet för .update() och liknande metoder är syntaxen i allmänhet kompatibel med alla senaste versioner av drivrutiner.

Detta är dock inte sant för mongo skal, eftersom metoden är implementerad där ("ironiskt nog för bakåtkompatibilitet") arrayFilters argumentet känns inte igen och tas bort av en intern metod som analyserar alternativen för att leverera "bakåtkompatibilitet" med tidigare MongoDB-serverversioner och en "legacy" .update() API-anropssyntax.

Så om du vill använda kommandot i mongo skal eller andra "skalbaserade" produkter (särskilt Robo 3T) behöver du en senaste version från antingen utvecklingsgrenen eller produktionsversionen från och med 3.6 eller senare.

Så om du vill "leka med" släppkandidaten, använd antingen den medföljande mongo skal med den versionen eller helt enkelt köra din kod genom en standarddrivrutin.



  1. Ansluter Heroku App till Atlas MongoDB molntjänst

  2. Meteor utan mongo

  3. Hur man använder Redis Hashes

  4. Hur kan jag köra redis på en enda server på olika portar?