Как обновить очень большую коллекцию firestore

#node.js #firebase #google-cloud-firestore #crud

#node.js #firebase #google-облако-firestore #crud

Вопрос:

Мне нужно добавить поле к каждому документу очень большой коллекции в Firestore через admin sdk для node.js . В некоторых документах уже есть поле, поэтому мне нужно проверить его значение перед его настройкой / обновлением. Коллекция составляет около 150 тыс. документов. Даже попытка получить документы с приведенным ниже кодом истекает.

   const documents = await db.collection('collectionName').get()
  

Есть ли специальный способ обработки очень больших коллекций?

Ответ №1:

Вы должны использовать разбивку на страницы, чтобы избежать загрузки всех документов в память одним запросом. Это позволит вам обрабатывать документы в пакетах, указав последний снимок документа, который вы видели в предыдущем запросе, чтобы создать новый запрос для получения следующей страницы данных.

Вы захотите установить разумное ограничение для каждого запроса, чтобы убедиться, что вы получаете разумное количество документов на каждой странице.