我已阅读有关Firestore 上的事务更新操作的文档。根据配额和限制,关于交易只有两个限制:
- 事务的最大大小:10 MiB
- 交易时间限制:270秒,空闲过期时间60秒
没有明确提到与事务相关的限制,在事务期间可以读取和/或修改多少文档或集合,或者是否对发生事务更新的集合有任何额外的限制。
这是否意味着,只要更新保持在这些和其他一般限制范围内,客户端可以对多达 500 个文档进行事务更新,每个文档都位于不同的集合中?
如果客户端在事务中读取多个文档,但只更新其中一个 - Firestore 是否仍然(静默)写入未修改的文档(用于序列化等)......所以我必须考虑每次写入 1 次的写入限制即使对于没有被客户端明确修改的文档,每秒的文档数也是如此。
PS:我问的原因是 Datastore 在事务中限制为 25 个实体组,并且在许多写入事务中也看到只读实体(“文档”)中的热点。例如,请参阅Dan McGrath 的这个答案。我只是想知道 Datastore 的哪些特征会延续到 Firestore,并且在设计 Firestore 数据库时必须考虑。