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

Come funziona cursor.observe e come evitare l'esecuzione di più istanze?

Lato server, al momento, observe funziona come segue:

  1. Costruisci l'insieme di documenti che corrispondono alla query.
  2. Pubblicare regolarmente il database con query e prendere una differenza delle modifiche, emettendo gli eventi rilevanti ai callback.
  3. Quando i dati corrispondenti vengono modificati/inseriti in mongo da meteor stesso, emetti gli eventi rilevanti, cortocircuitando il passaggio n. 2 sopra.

Esistono piani (possibilmente nella versione successiva) per garantire automaticamente che le chiamate per l'abbonamento che hanno gli stessi argomenti siano condivise. Quindi, in pratica, occuparti automaticamente della parte singleton.

Certamente potresti ottenere qualcosa del genere da solo, ma credo che sia una priorità assoluta per il team di meteore, quindi probabilmente non ne vale la pena a questo punto.