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

Wie verwendet man pollingThrottle und pollingInterval?

Diese 10 Sekunden sollten 10 ms betragen.

  1. Stellen Sie sicher, dass Sie nur MongoDB und nicht Minimongo aktualisieren. Wenn Sie beispielsweise mit Meteor-Methoden aktualisieren, stellen Sie sicher, dass Sie keine Client-Stubs haben.

  2. Versuchen Sie Folgendes:

    Meteor.publish("currentRoom", function (roomName) {
      return Rooms.find({name: roomName}, {
        disableOplog: true,
        pollingThrottleMs: 10000, 
        pollingIntervalMs: 10000
      });
    });
    

Sie müssen das Oplog-Tailing deaktivieren. Wenn Sie dies nicht tun, werden Sie trotzdem jedes Mal benachrichtigt, wenn sich die MongoDB-Protokolle ändern.

Ich habe dies mit einem Beobachter auf dem Client getestet und es hat funktioniert.

Cursor.observe({
  changed: (newdoc, olddoc) => {
    console.log('changed');
  }
});

Zusätzliche Informationen:

https://github.com /meteor/docs/blob/version-NEXT/long-form/oplog-observe-driver.md http://info.meteor.com/blog/tuning -meteor-mongo-livedata-for-skalierbarkeit