【问题标题】:Couple Firebase Firestore and Firebase Storage calls together into a batch?将 Firebase Firestore 和 Firebase Storage 一起调用成一个批次?
【发布时间】:2018-05-24 06:18:02
【问题描述】:

我正在寻找有关 Firebase Storage 和 Firebase Firestore 组合/批量调用的最佳做法。例如:我需要从我的 Firestore 中删除一个与 Firebase Storage 中的图像相关的文档。 是否有可能以这样一种方式执行此操作,即当其中一个操作失败时,整个事务都将被还原?

【问题讨论】:

    标签: android firebase firebase-storage google-cloud-firestore


    【解决方案1】:

    没有真正的atomic/transactional 方法可以做到这一点,但是您可以使用云功能可靠地实现它。

    您可以删除一个文档,并使用onDelete触发器删除存储中的实际文件。

    因此,当您无法删除文档时,该文件不会发生任何事情。如果删除文件成功,会触发云端功能删除图片。

    【讨论】:

    • 致 2021 年阅读此文的任何人...这并不能保证图片已被删除。如果云功能删除图片失败,则说明您删除了文档,但没有删除图片。目标是让两个动作一起失败/成功。这并不能实现该目标。
    【解决方案2】:

    Firebase 产品均不支持此类跨产品事务更新。您必须在更新期间嵌套调用,并使用可以在读取期间处理意外数据结构的代码。

    另见:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-25
      • 1970-01-01
      • 2021-12-25
      • 2020-08-05
      • 2018-09-25
      • 2021-02-06
      • 2023-04-02
      相关资源
      最近更新 更多