将 Firebase Firestore 和 Firebase Storage 调用组合成一个批处理?

Pet*_*ter 6 android firebase firebase-storage google-cloud-firestore

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

小智 3

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

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

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

  • 对于 2021 年阅读本文的任何人……这并不能保证图像被删除。如果云功能删除图片失败,则删除的是文档,但并未删除图片。目标是两项行动同时失败/成功。这并不能实现该目标。 (2认同)