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

Wie funktioniert cursor.observe und wie kann vermieden werden, dass mehrere Instanzen ausgeführt werden?

Serverseitig, ab sofort, observe funktioniert wie folgt:

  1. Erstellen Sie den Satz von Dokumenten, die der Abfrage entsprechen.
  2. Rufen Sie die Datenbank regelmäßig mit Abfragen ab und nehmen Sie einen Vergleich der Änderungen vor, wobei Sie die relevanten Ereignisse an die Rückrufe ausgeben.
  3. Wenn übereinstimmende Daten von Meteor selbst in Mongo geändert/eingefügt werden, geben Sie die relevanten Ereignisse aus und schließen Sie Schritt 2 oben kurz.

Es gibt Pläne (möglicherweise in der nächsten Version), automatisch sicherzustellen, dass Aufrufe zum Abonnieren mit denselben Argumenten gemeinsam genutzt werden. Also den Singleton-Teil automatisch für dich erledigen.

Sicherlich könnten Sie so etwas selbst erreichen, aber ich glaube, es hat eine hohe Priorität für das Meteor-Team, daher lohnt sich der Aufwand an dieser Stelle wahrscheinlich nicht.