Метеоритная подписка на получение только новых документов
Просто интересно, есть ли способ настроить мою метеорологическую подписку для загрузки только новых документов из коллекции монго, избегая синхронизации удалений и обновлений (поскольку они не имеют отношения к данным, которые показываются пользователю).
Зачем мне это нужно? Кажется, в любое время я делаю 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();
});
});