首页 > 解决方案 > 如何更新非常大的 Firestore 集合

问题描述

我需要通过 node.js 的 admin sdk 向 Firestore 中一个非常大的集合的每个文档添加一个字段。一些文件已经有这个字段,所以我需要在设置/更新它之前检查它的值。该集合大约有 15 万份文档。即使尝试使用以下代码获取文档也会超时。

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

有没有一种特殊的方法来处理非常大的集合?

标签: node.jsfirebasegoogle-cloud-firestorecrud

解决方案


您应该使用分页以避免通过单个查询将所有文档加载到内存中。这将允许您通过指定您在先前查询中看到的最后一个文档快照来批量处理文档,以便进行新查询以获取下一页数据。

您将希望对每个查询设置合理的限制,以确保您在每页中获得合理数量的文档。


推荐阅读