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

Meteor `Deps.autorun` vs `Collection.observe`

Deps.autorun, nu er Tracker.autorun en reaktiv beregningsblok. Hvorimod observeChanges giver et tilbagekald til, når noget ændrer sig.

Når du bruger Deps.autorun, vil hele blokken i function() {...} , kører igen, hver gang en reaktiv variabel eller et dokument ændres, på nogen måde overhovedet (der opdateres, fjernes eller indsættes), eller enhver anden reaktiv variabelændring.

ObserveChanges-tilbagekaldene er mere finjusterede og aktiverer tilbagekaldene for tilføjet, ændret eller fjernet afhængigt af forespørgslen.

Baseret på din kode ovenfor er begge i virkeligheden ens. Hvis du havde flere reaktive variabler i Deps.autorun-blokken, så observeChanges måde at gøre det på ville være mere effektiv.

Generelt er den første stil mere effektiv, men som din kode står ovenfor, er de begge næsten ens, og det afhænger af dine præferencer.




  1. Bruger du aggregat til at kombinere en liste over alle underdokumenter, der matcher forespørgslen?

  2. Spring data mongo paginering

  3. Datoforespørgsel med ISODate i mongodb ser ikke ud til at virke

  4. Returnerer værdi fra asynkron funktion node.js