gpt4 book ai didi

swift - 高效获取评论集合查询的用户信息

转载 作者:行者123 更新时间:2023-11-28 13:30:57 25 4
gpt4 key购买 nike

我有一份产品文档及其评论的子集。每个评论都有创建文档的用户的 userId。我想高效地从这些评论中获取所有用户,而无需事先阅读每个文档。

我可以高效地查询这些评论,但我想不出一种方法来获取我正在查询的评论的用户信息,而无需在阅读文档后对用户进行单个查询。有什么想法吗?

productDocument.collection("reviews")
.getDocuments() { (querySnapshot, err) in

for reviewDocument in querySnapshot!.documents {
let review = reviewDocument.data()
let userId = review.senderId

usersCollection.document(userId).getDocument { (userDocument, error) in
if let userDocument = userDocument{
let user = userDocument.data()
print("\(user.name) said \(review.text)")
}

}
}

最佳答案

Cloud Firestore 没有任何可以合并来自多个集合的结果的“连接”类型查询。在您的情况下,您将不得不查询和迭代评论中的每个文档,从这些文档中收集所有用户 ID,然后分别获取每个用户文档。 SDK 没有为此提供任何捷径,但您可能想要编写自己的实用程序函数。

如果这是 Not Acceptable ,请考虑添加另一个您可以查询一次的集合,它将为您提供所需的一切。为了优化这种情况,在 NoSQL 类型的数据库中复制数据并不少见。

关于swift - 高效获取评论集合查询的用户信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57343144/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com