MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

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

Deps.autorun, jetzt Tracker.autorun, ist ein reaktiver Berechnungsblock. Wohingegen das ObserveChanges einen Rückruf bereitstellt, wenn sich etwas ändert.

Wenn Sie Deps.autorun verwenden, wird der gesamte Block in function() {...} , wird jedes Mal erneut ausgeführt, wenn sich eine reaktive Variable oder ein Dokument in irgendeiner Weise ändert (d. h. aktualisiert, entfernt oder eingefügt) oder sich eine andere reaktive Variable ändert.

Die ObserveChanges-Callbacks sind feiner abgestimmt und lösen die Callbacks für hinzugefügte, geänderte oder entfernte Abfragen aus.

Basierend auf Ihrem obigen Code sind beide tatsächlich gleich. Wenn Sie mehr reaktive Variablen im Deps.autorun-Block hatten als die observeChanges Vorgehensweise wäre effizienter.

Im Allgemeinen ist der erste Stil effizienter, aber da Ihr Code oben steht, sind sie beide fast gleich und es hängt von Ihrer Präferenz ab.