【发布时间】:2021-01-12 17:13:39
【问题描述】:
我需要将两个查询与 firebase firestore 合并,然后使用文档的 timestamp 字段对结果进行排序。
在网上我没有找到太多关于 Swift 和 Firestore 的信息。
这是我到目前为止所做的:
db.collection("Notes").whereField("fromUid", isEqualTo: currentUserUid as Any).whereField("toUid", isEqualTo: chatUserUid as Any).getDocuments { (snapshot, error) in
if let error = error {
print(error.localizedDescription)
return
}
db.collection("Notes").whereField("fromUid", isEqualTo: self.chatUserUid as Any).whereField("toUid", isEqualTo: self.currentUserUid as Any).getDocuments { (snaphot1, error1) in
if let err = error1{
print(err.localizedDescription)
return
}
}
}
我在第一个查询 on completion 中添加了第二个查询,但现在我不知道如何合并它们并通过 timestamp 的字段对它们进行排序。
关于这个有见地的question 解释说建议使用Task对象,但我没有找到与swift类似的东西。
【问题讨论】:
-
可能不需要合并数据,但问题很不清楚 - 嵌套查询似乎与顶层没有任何关系,除了它会在第一个查询之后发生在它的快照中返回数据。但是,您没有对这些数据做任何事情。您能否包括您的 Firestore 结构并说明查询应该做什么以及最终结果应该是什么
-
我需要获取与“fromUid”和“toUid”对应的所有文档,然后还需要获取与uids相反的所有文档。之后,我将对检索到的所有数据进行分组,并按时间戳对它们进行排序
标签: swift firebase google-cloud-firestore