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

Hvordan evaluerer MongoDB flere $eller udsagn?

MongoDB vil udføre hver klausul i $or-operationen som en separat forespørgsel og fjerne dubletter som et efterbehandlingspas. Som sådan kan hver klausul bruge et separat indeks, hvilket ofte er meget nyttigt.

Med andre ord vil den IKKE se på 1 dokument, se hvilken af ​​OR-klausulerne der gælder og lave en early-out, hvis den første klausul er et match. Snarere udfører den en komplet datasætforespørgsel pr. klausul og de-duperer bagefter. Dette kan virke mindre effektivt, men i praksis er det næsten altid hurtigere, da den første tilgang kun ville være i stand til at ramme højst ét ​​indeks for alle klausuler, hvilket sjældent er effektivt.



  1. Hvorfor afventer dette uden for asynkronfunktion?

  2. Django-nonrel ved hjælp af ListField, der indeholder EmbeddedObjects i admin

  3. Kom godt i gang med Node.js, angular.js og MongoDB, modelleringsrelationer og andre ramp-up tips

  4. Multiplicer felt med værdi i Mongodb