我对删除的Firestore文档感到困惑。该文档说:
也不能保证删除操作会一致地成功或失败,因此请准备好处理部分删除的情况……没有原子删除操作的操作。
https://cloud.google.com/firestore/docs/solutions/delete-collections
我不知道上面的陈述是仅引用示例中的cloud函数还是通常执行大规模删除。
批处理写入可以执行删除,但是它们是原子的。因此,如果少于500个文档的集合(批量写入操作限制)运行了delete的批量写入操作,那不是原子集合删除吗?批处理写入的文档没有澄清,因为它没有声明一批操作是原子完成的,只能进行写操作。如果这是故意的,我无法猜测。
一批写入可以自动完成,并且可以写入多个文档。
https://cloud.google.com/firestore/docs/manage-data/transactions
正在删除整个集合(因为我知道随之而来的警告),是以批量写入原子的方式执行删除吗?
答案 0 :(得分:1)
我不知道上面的陈述是仅引用示例中的cloud函数还是通常执行大规模删除。
它对两个都适用。两种情况都涉及多次调用以删除所有文档,并且这些调用可能分别成功或失败,从而使集合处于不一致状态(部分删除)。需要第二轮操作来清理其余文档。
另一方面,批量删除500个或更少的文档将为您保证单个批次的全部或全部行为。但是,如果要删除的数量超过500,则需要进行多个批次处理,现在您又回到了上面的相同问题-它们中的任何一个都可能成功或失败,因此您需要进行处理。