有没有一种有效的方法可以将许多文档快速上传到 Google Firestore?

Is there an efficient way to upload many documents quickly to the Google Firestore?

我正在用 React Native 构建一个游戏,用户每 6 秒左右生成一次卡片。然后通过我设置的 Firebase 连接将这些卡片上传到 Google Firestore。

用户以每 6 秒 1 张的速度生成卡片:每 6 秒 1 张 = 每分钟 10 张 = 每小时 600 张。按照 Google Firebase 的默认每日 20,000 次免费写入配额,我将超过每天允许的最大限额,只有 34 人使用该服务一小时。

为了解决这个问题,我实施了一个临时解决方案,通过 AsyncStorage 将卡片及其数据存储在用户的本地存储中,然后在 "overflows" 超出一定限制时上传。我的代码大概如下:

// Retrieve the user's inventory.
// Add the new card to the inventory.
// If the inventory length is greater than 15, batch write it all up to Firestore.

这是处理大量快速数据的有效且安全的方法吗?

批量写入不会帮助您减少写入文档所需的计费写入操作数。批量写入 5 个文档仍然需要 5 次写入,就像您单独写入它们一样。

在这种情况下,您实际上无能为力,只能将所有写入委托给负责根据您指定的任何限制对写入进行计量的单个实体。到那时,您也在花钱来实现这一目标,因此您不妨只支付正常的账单费率,从而节省自己的时间和尝试绕过免费限制的麻烦。免费限制是为了让您在开发期间试用产品,而不是 运行 生产应用程序。