2

我已阅读有关transactional update operations on Firestore的文档。根据Quotas and Limits只有两个限制与关于交易:Cloud Firestore交易限制

  • 用于交易最大尺寸:10 MIB
  • 时限事务:270秒,在60秒的空闲期满时间

没有明确的交易有关的限制提到,许多文件或集合如何可以读取和/或交易过程中被修改,或者有关于集合任何额外的限制,其中TRA事件更新发生。

  1. 这是否意味着,客户端可以做高达500个文件,在每一个不同的收藏事务更新,只要更新保持内这些和其他一般限制?

  2. 如果客户端读取一个事务中的多个文档,但仅更新其中的一个 - 做公司的FireStore仍然(默默)写入未修改的文件(序列化或左右)...所以我不得不考虑将写即使对于客户端未明确修改的文档,每秒每个文档的写入限制也是如此。

P.S:我之所以问的是,数据存储有25个实体,集团在交易的限制,也看到了在热点实体只读内许多写入事务(“文件”)。例如,请参阅this answer by Dan McGrath。我只是想知道数据存储的哪些特征传递给Firestore,并且在设计Firestore数据库时必须考虑这些特征。

回答

3

请参阅“可传递给提交操作的最大文档数”,它定义了500个文档的限制。这是您的交易限制,因为我们需要使用单个提交将所有内容应用于交易。

我不认为无需再进行无声写入来确定文档是否在事务中发生了更改。

没有与25实体组限制等价的相关限制。

+1

如果我们想要做500多个更新,我们应该使用多个批次?或我们如何实现这一目标?我有一种情况,我需要更新'用户Feed'的Dinic参考。在我添加到集合中的Id's +用户所做的每个Post后的一些信息,并且如果我取消关注用户,则需要删除此文档。 现在一切正常,但如果将来我的应用程序增长,并且用户超过500个帖子,当尝试更新此数据时,我的“云功能”将崩溃。 –