我看到了类似的问题,即根据此处的写入触发器,在一定时间后删除Firebase Realtime Database数据
Delete firebase data older than 2 hours
如何在Firebase Firestore中实现这一目标?
信息:
我的Firestore布局为:
主要收藏
-文件1
------子集合
---------- Doc xyz1
---------- Doc xyz2
-文件2
------子集合
---------- Doc abc1
----------博士tyu1
---------- Doc tyu2
每个用户可能有多个子文档(xyz1,xyz2),他们可以更改将其加载到哪个主文档中。这两个集合都是已知的并且不会更改,但是主要文档和子文档都是可变的。该功能应等待一段可变的时间(10-120分钟),然后再删除特定的子文档。完成后,已删除子文档的用户/所有者需要通知。
编辑:我能找到的最好的办法是,我没有可以使用的Firestore生存时间(TTL)文档,并且建议进行的定期检查/清理对我不起作用具体用例。
编辑2-其他详细信息-::每个用户将私下保存其唯一的文档(abc1)。他们将自行决定选择一个主要文档(上述文档2),并将其文档提交给其子集合。
在当前时间点,当用户私人文档成功提交给公共子集合时,aysnc任务将具有倒数计时器,计时器完成后将删除用户上述文档。这很好用,但是当用户离开应用程序或计时器到时没有互联网连接时,不会删除文档。
这使我想到了最初的问题,以为我可以在计时器倒计时后利用Cloud Functions执行删除操作。
答案 0 :(得分:0)
Firestore没有TTL机制。而且Cloud Functions没有调度机制。您将不得不寻找另一种安排某些工作的方法,这些工作将清除旧文档。
您有两种选择可以调查:
这两种设置和维护都很简单。