ios - 如何根据 Firestore 子集合中的值过滤根集合?

标签 ios swift firebase google-cloud-firestore

我在 Swift iOS 中使用 Cloud Firestore 数据库,我想根据每个文档子集合中可用的值过滤根集合列表?

根集合--> 帖子--> 文档--> 子集合--> 文档--> 字段值

“字段值”的值必须决定根集合帖子中的文档列表

我在下面尝试了这个,但它没有按要求工作。

let postsRef = Firestore.firestore()
    .collection("posts")
    .document()
    .collection("comments")
    .whereField("comment_author_id", isEqualTo: Auth.auth().currentUser!.uid)
    .whereField("l1", isEqualTo: true)
    .limit(to: 50)

请帮忙

enter image description here

enter image description here

最佳答案

您的查询未按要求工作,因为调用时:

.document()

紧接着:

.collection("posts")

在不传递任何参数的情况下,Firestore 并不知道您正在引用哪个文档。如果您想在您的 2czkDrrg4gHgXbCID69u 文档中获取所有评论,那么您应该将该 ID 传递给 document() 函数,如下所示:

.collection("posts").document("2czkDrrg4gHgXbCID69u")

请记住,Firestore 查询很浅,只能从运行查询的集合中获取评论。单个查询只能使用单个集合中文档的属性。

如果您想要获取所有文档中存在于您的posts 集合中的所有评论,那么您应该使用Firestore collection group query。 .请注意,所有子集合必须具有相同的(注释)名称。

关于ios - 如何根据 Firestore 子集合中的值过滤根集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58215112/

相关文章:

ios - 使用 OSX 10.11 Beta 5 (El Capitan) 设置 IPv6 环境

ios - 将搜索栏添加到 UICollectionView

ios - 如何在编辑其他字段时自动折叠表单中的 DatePicker?

ios - [__SwiftValueencodeWithCoder :]: unrecognized selector sent to instance

android - Firebase JobDispatcher-Scheduled 作业在设备重启时丢失

ios - 在 "as!"之后发送类类型作为参数

objective-c - 从 NSMutableArray 中提取值时出现问题

Swift:属性 'self.tableView' 未在 super.init 调用时初始化

android - Firebase 身份验证单元测试错误 No Firebase App

java - 如何在 Android 上仅更新 Firebase 数据库上的特定字段