Метеоритная подписка на получение только новых документов

Просто интересно, есть ли способ настроить мою метеорологическую подписку для загрузки только новых документов из коллекции монго, избегая синхронизации удалений и обновлений (поскольку они не имеют отношения к данным, которые показываются пользователю).
Зачем мне это нужно? Кажется, в любое время я делаю Meteor.subscribe после периода офлайн коллекция ВСЕХ отправляется снова с сервера клиенту, а мне нужны только новые записи.

Я думаю, что это поддерживает целостность локальной / удаленной базы данных, но так как мое приложение планируется работать онлайн / офлайн (я также использую GroundDB), мне кажется, что это будет очень неэффективно с точки зрения использования данных.

Заранее спасибо.

1 ответ

Решение

Вы можете создать публикацию, которая отправляет только новые документы. Подобно:

Meteor.publish('newDocumentsOnly', () => {
  let initializing = true;
  const handle = Collection.find().observeChanges({
    added: (id, fields) => {
      if (initializing) return;
      this.added('Collection', id, fields);
    }
  });
  initializing = false;
  this.ready();
  this.onStop(() => {
    handle.stop();
  });
});
Другие вопросы по тегам