提问者:小点点

Firestore在读取文档时批量删除


我想知道在firestore中删除我的集合(它有子集合)的最好方法是什么。我需要在UTC每天20:00删除整个集合(使用https://firebase.google.com/docs/firestore/solutions/delete-collections这样的代码)。

我关心的是用户将能够向正在被删除的集合/子集合查询/写入文档。如果他们试图在批量删除运行时读取/更新/删除集合中的文档,这会导致任何问题吗?

我曾经想过写一些firestore规则,如果查询时间是UTC的20:00-20:05,它就会阻止读取,但这似乎有点老套,而且我也不确定这是否可能。

有没有人可以为我提供一些帮助,如何处理潜在的读取,同时批量删除。

多谢

边注:在删除集合代码中,它提到了一个必需的令牌functions.config().fb.token。如果代码运行在云函数上,这总是一样吗?


共1个答案

匿名用户

这里我能想到的主要场景有两种:

  1. 在第一次传递后重试删除集合,以获取在删除代码时创建的所有文档。
  2. 使用安全规则中的全局锁定阻止用户写入。

即使您执行第二个操作,我也会执行第一个操作--因为当有足够多的用户时,很容易错过写入操作。