我有这样的数据结构:
雇员(集合)> {雇员ID}(文档)>聊天(集合)> {ChatId}(文档)。
在聊天收集中,每个文档都有3个字段。 1. senderName,2. sendTimestamp,3. messageText。
我想删除7天(从今天开始)之前的聊天。
我认为通过云功能可能会实现,但是我确实是基本用户,对云功能了解不多。请注意,我不想自动创建它(定时作业)。我将每天或随时随地手动进行操作。
我确实为此进行了很多搜索,但是确实很难。请帮助我。
答案 0 :(得分:0)
此任务的很大一部分涉及查询子集合。您可以在这里阅读有关此想法的更多信息:Firestore query subcollections
在撰写本文时,基本上有两个选择:
db.collection('Employees').get()
。然后,您将不得不遍历每个应用对象,并根据其日期范围查询其子集合(Chat)。 Firestore query by date range,了解有关在Firestore中按日期查询的更多信息。根据Employee文档的数量,这可能会导致大量读取,但这是“最简单”的方法,因为不必更改数据模型/应用程序。无论您决定采用哪种方法,功能部门肯定都能完成此任务。需要注意的一件事是,一个Function使用Admin SDK执行,这意味着它基本上可以忽略Firestore上设置的安全规则。