sql >> Database >  >> NoSQL >> MongoDB

Meteor `Deps.autorun` versus `Collection.observe`

Deps.autorun, nu is Tracker.autorun een reactief rekenblok. Terwijl de observeChanges een terugroepactie biedt wanneer er iets verandert.

Wanneer u Deps.autorun gebruikt, wordt het hele blok in function() {...} , wordt elke keer opnieuw uitgevoerd als een reactieve variabele, of document verandert, op welke manier dan ook (die wordt bijgewerkt, verwijderd of ingevoegd), of elke andere reactieve variabele verandering.

De callbacks van observeChanges zijn nauwkeuriger afgestemd en activeren de callbacks voor toegevoegd, gewijzigd of verwijderd, afhankelijk van de vraag.

Op basis van uw bovenstaande code zijn beide in feite hetzelfde. Als u meer reactieve variabelen in het Deps.autorun-blok had, dan de observeChanges manier om het te doen zou efficiënter zijn.

Over het algemeen is de eerste stijl efficiënter, maar aangezien uw code erboven staat, zijn ze beide bijna hetzelfde en hangt het af van uw voorkeur.




  1. Hoe kan ik de bulkprestaties van MongoDB verbeteren?

  2. Waarom krijg ik een InvalidDocument-uitzondering wanneer ik voor de eerste keer een object opslaat in MongoDB in Django?

  3. Lopende meteoor in een cluster en realtime veranderingen

  4. Mongoose Schema-indeling wijzigen