sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Cómo usar pollingThrottle y pollingInterval?

Esos 10 segundos deberían ser 10 ms.

  1. Asegúrese de que solo está actualizando MongoDB y no Minimongo; por ejemplo, si actualiza a través de métodos Meteor, asegúrese de no tener stubs de clientes.

  2. Prueba esto:

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

Tienes que deshabilitar el seguimiento de oplog. Si no lo hace, recibirá una notificación cada vez que cambien los registros de MongoDB.

Probé esto con un observador en el cliente y funcionó.

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

Información adicional:

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