Firebase 云Firestore查询文档及其集合
我在cloud firestore中有以下数据: /TasksFirebase 云Firestore查询文档及其集合,firebase,firebase-realtime-database,google-cloud-firestore,nosql,Firebase,Firebase Realtime Database,Google Cloud Firestore,Nosql,我在cloud firestore中有以下数据: /Tasks 身份证 名称:string 描述:字符串 受让人(每个任务内的受让人集合) 在查询我的任务时,我只得到名称、描述等基本数据。但不是任务中的assignees集合。 是否有一种方法可以通过一次读取获取“整个”任务文档/对象 我不想对每个任务执行“[taskId]/assignees”提取。我不知道您的平台是什么,但访问子集合只是定义该集合的路径的问题 例如,如果您想访问assignees子集合,路径可以这样定义(Swift
- 身份证
- 名称:string
- 描述:字符串
- 受让人(每个任务内的受让人集合)
我不想对每个任务执行“[taskId]/assignees”提取。我不知道您的平台是什么,但访问子集合只是定义该集合的路径的问题 例如,如果您想访问assignees子集合,路径可以这样定义(Swift,但跨平台的概念是相同的) 我不想为每个任务执行“[taskId]/assignees”提取 因此,您可以通过这种代码流在代码中处理它
iterate over tasks
read the assignees collection for each task
或者,您可以更改模型并在每个任务中存储受让人。您可以使用一个数组,甚至是一个映射来封装受让人
task_id //document
assignees //map
assignee_0 //map
name //field
assignee_1 //map
name //field
当任务文档被读取时,被分配者将是一个可以读取的字段。在这里,我将assignees
字段读入一组字典,并对它们进行迭代
let assignees = doc.get("assignees") as! [String: Any]
for a in assignees {
print(a.key, a.value)
}
这回答了你的问题吗?
let assignees = doc.get("assignees") as! [String: Any]
for a in assignees {
print(a.key, a.value)
}