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

时间:2020-04-12 05:12:25

标签: javascript firebase react-native google-cloud-firestore asyncstorage

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

用户以每6秒1张的速度生成卡片:每6秒1张=每分钟10张=每小时600张。按照Google Firebase的默认配额,即每天20,000次免费写操作,我已经超过了一个小时只能使用34人的每日最大允许使用次数。

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

// 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.

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

1 个答案:

答案 0 :(得分:0)

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

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