#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:
Вы должны использовать разбивку на страницы, чтобы избежать загрузки всех документов в память одним запросом. Это позволит вам обрабатывать документы в пакетах, указав последний снимок документа, который вы видели в предыдущем запросе, чтобы создать новый запрос для получения следующей страницы данных.
Вы захотите установить разумное ограничение для каждого запроса, чтобы убедиться, что вы получаете разумное количество документов на каждой странице.