【问题标题】:Maintaining atomicity of Firestore writes too large for a batch operation (>500)保持 Firestore 写入的原子性对于批处理操作来说太大(>500)
【发布时间】:2020-03-15 03:21:06
【问题描述】:

Firestore 允许一个批处理最多 500 个操作。

如果您要上传包含子集合的复杂文档,每个子集合都有数百个文档,您应该如何确保原子上传?

这个问题已经在 SO 上被问过多次,但它们都是"make multiple batches and retry if one fails" 的一些变体,它不是原子的。

【问题讨论】:

    标签: firebase google-cloud-platform google-cloud-firestore


    【解决方案1】:

    这是不可能的。如果是这样,它已经在您所指的其他问题中进行了描述。这是 Firestore 的记录限制,您必须按原样使用它。

    硬限制文档可以找到here:

    可以传递给 Commit 操作的最大写入次数或 在一个事务中执行:500

    【讨论】:

    • 我知道,我正试图找出人们如何处理它,如果有的话。将简单对象作为单个文档存储在数组中?某种幂等性实现?那种东西。
    • 它并不经常出现。如果您需要大型原子事务,Firestore 可能不适合您的应用程序。没有数据库可以擅长一切 - 总会有取舍。
    猜你喜欢
    • 2020-06-21
    • 2012-08-05
    • 1970-01-01
    • 2019-05-24
    • 1970-01-01
    • 1970-01-01
    • 2016-08-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多