当前位置: 首页 > 知识库问答 >
问题:

如何自动删除N天前创建的firestore文档?

上官联
2023-03-14

我有这样的数据结构:

Employees(集合)>{EmployeeID}(文档)>Chat(集合)>{ChatId}(文档)。

我真的找了很多这个,但它真的很难。请帮帮我.

共有1个答案

单于承
2023-03-14

这个任务的很大一部分涉及到查询子集合。您可以在这里阅读更多关于这个想法的内容:Firestore查询子集合

在撰写本文时,基本上有两种选择:

  1. 查询整个顶级集合(Employees),类似于db.collection('Employees').get()。然后,您必须遍历每个employ对象,根据它们的日期范围查询它们的子集合(Chat)。在Firestore中按日期查询的更多阅读。这可能导致大量读取,这取决于员工文档的数量,但这是一种“最简单”的方法,无需对数据模型/应用程序进行更改。
  2. 重组数据,使子集合聊天成为顶级集合。然后可以按日期对此顶级集合进行查询。读取次数较少,但可能不太可行,这取决于此应用程序是否处于生产状态/是否愿意更改代码。

一个函数肯定能够完成这一任务,无论您决定如何接近它。需要注意的一点是,一个函数使用Admin SDK执行,这意味着它基本上可以忽略在FireStore上设置的安全规则。

 类似资料:
  • 我正在C:drive文件夹中创建一个名为abc的dat文件,如下所示,现在我的文件每天都会生成,假设我的文件是今天生成的,然后tommrow也会像往常一样生成,但在生成tommrow时,我必须确保删除前一天的文件,因为该文件夹中的空间有限,每次需要执行此检查时,前一天的文件都会从该文件夹中删除,请建议如何实现这一点。。

  • 本文向大家介绍Linux自动删除n天前日志及实例命令,包括了Linux自动删除n天前日志及实例命令的使用技巧和注意事项,需要的朋友参考一下 1.删除文件命令: find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \; 实例命令: 说明: 将/opt/soft/log/目录下所有30天前带".log"的文件删除。具体参数说明如下: find:linux的

  • 本文向大家介绍使用vbs脚本定时删除N天前的文件,包括了使用vbs脚本定时删除N天前的文件的使用技巧和注意事项,需要的朋友参考一下 脚本放在定时任务里代替服务定时执行一些操作比较方便,下面是实现删除文件夹下N天前创建的文件的vbs脚本,在配置文件 DelFolderList.txt 中配置要删除的文件路径,ONLY-DEL-FILES 下的路径 是只删除其下的文件,不删除其内的子目录的文件。DEL

  • 有没有一种方法,自动删除已完成的作业除了使一个Cron作业清理已完成的作业? K8s 作业文档指出,已完成作业的预期行为是让它们保持已完成状态,直到手动删除。因为我每天通过 CronJobs 运行数千个作业,我不想保留已完成的作业。

  • 我如何删除一个特定的文档中的一个集合在fiRecovery使用反应? 我在这里和谷歌上看了看,但我没有发现任何内在相关的东西。 我只是设法从我的集合中删除索引[0]的文档。 这状态idDoc接收所有id文档。 如果我只是传递. doc(idDoc),我会得到以下错误: Firebase Error: Function Collection Reference.doc()要求它的第一个参数是非空字符

  • 所以我有2个系列, 用户(收藏) 检查(收集) 用户只有名为不同电子邮件地址的文档 检查将文档命名为不同的电子邮件地址,然后每个文档都有另一个名为“assignedToMe”的集合,然后此集合具有命名为某些唯一 ID 的不同文档。 我想做的是,每当我删除一个用户,我希望它的文件命名为他的电子邮件地址被删除,以及从检查(收集)。 我在这里遇到的问题是,我能够从用户(集合)中删除该用户,但无法删除该特