Каков наилучший способ добавить моментальный снимок в коллекцию пожарного магазина, когда документы исчисляются миллионами? - PullRequest
0 голосов
/ 04 мая 2019

У меня есть коллекция, как Post (Facebook). Я выбираю документы 100-100 при прокрутке вниз (нумерация страниц) в порядке убывания (исходя из стоимости создания). Почтовая коллекция имеет миллионы документов. Я хочу использовать синхронизацию в реальном времени (сервис моментальных снимков из fire-store), но если я предоставлю ту же ссылку на запрос для моментального снимка, которую я использовал для выборки данных (означает все ссылки на запрос, которые я использовал для добавления выборки) с пределом 100-100) тогда я не могу обработать все случаи синхронизации в реальном времени. Как и при добавлении нового документа (публикации), на снимке появятся два изменения документа для первой ссылки запроса:

//Sample of adding the snapshot on queryRef
await queryRef.onSnapshot(snapshot => {
  const documents = snapshot.docChanges();
});
  1. добавлено - одно новое сообщение
  2. удалено - 100-я старая запись, так как запрос имеет ограничение в 100 документов.

Если я не добавлю пропуск (startAt / startAfter) и ограничение в отношении запроса, для которого я добавляю снимок, тогда возникает проблема запуска моментального снимка в первый раз для целых документов без вставки / обновления / удаления , Я не знаю, что произойдет, когда документы будут исчисляться миллиардами и почему пожарный магазин работает впервые без каких-либо изменений. Я просто хочу слушать только изменения, такие как вставка / обновление / удаление. Если я добавлю снимок для каждого ключа / документа, то возникнет проблема ограничения квоты в реальном времени (1 000 000). Есть ли способ справиться с этим? Пожалуйста, предложите.

...