从Firebase云功能触发器到Firestore,可以以批处理模式写入多少文档?

时间:2019-10-17 04:55:19

标签: google-cloud-firestore google-cloud-functions

我们有大量数据,需要根据状态更新文档。我们将分批编写500个块,并想知道一次触发调用可以提交多少个最大记录?

我们的触发器是Firebase云功能中的pubsub触发器。

我们看到每次调用限制为540秒,所以想知道我们可以批量写入多少个最大文档?

更新:添加用例

我有一个事件集合(事件),用户可以订阅一个国家/地区发生的每个事件。

用户具有一个api,可以查看他们已订阅了多少事件。它们具有查询标记,例如活动/完成/即将发生的事件。

由于我无法将订阅事件的用户数组列表保存在事件文档中(假设订阅者在存储时可以超出文档限制),因此我在用户集合下维护了一个单独的子集合。 例如:用户/用户ID /已订阅事件

事件文档的状态(活动/完成/即将到来),我正在从将每分钟运行的cron作业进行更新。这是因为我无法将过滤器应用于两个不同的字段(startDate和endDate)。

事件的状态发生变化时,我需要在subscribedevents子集合(位于用户集合下)中进行更新。

由于我将更新所有subscribedevents子集合条目,因此我想分批进行。

希望用例可以使应用位置更清晰。由于Firestore是为规模而设计的,所以想知道其他人如何将这种情况作为非常普遍的情况来处理。

1 个答案:

答案 0 :(得分:0)

每笔交易或批量写入最多可写入500个文档。 还有20次最大批量写入。

参考

Firestore Write Documents

Transaction and batches in firestore