Firestore:我如何用documentID读取子收集数据?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Firestore:我如何用documentID读取子收集数据?相关的知识,希望对你有一定的参考价值。
我怎么只能阅读当前的用户评论?对于“我自己的评论”页面。我的代码运行,但如果(where field:currentuid)不存在则不打印(“无数据”)。只打印(“documents.data()”)
let db = Firestore.firestore()
db.collection("tweets").getDocuments { (snapshot, error) in
for document in snapshot!.documents {
self.db.collection("tweets").document(document.documentID).collection("comments").whereField("uid", isEqualTo: self.uid).getDocuments(completion: { (snapshot2, error2) in
for document2 in snapshot2!.documents {
print("(document2.documentID) -> (document2.data())")
}
})
}
}
答案
我想你正在寻找这个:
let db = Firestore.firestore()
db.collection("tweets").getDocuments { (snapshot, error) in
for document in snapshot!.documents {
self.db.collection("tweets").document(document.documentID).collection("comments")
.whereField("uid", isEqualTo: self.uid).getDocuments(completion: { (snapshot2, error2) in
if let err = err {
print("Error getting documents: (err)")
} else {
if snapshot2.isEmpty {
print("No comments from (self.uid) found")
} else {
for document2 in snapshot2!.documents {
print("(document2.documentID) -> (document2.data())")
}
}
}
})
}
}
请注意,正在进行有关集合组查询的工作,这将允许您在名为comments
的所有集合中使用单个查询执行上述操作。
以上是关于Firestore:我如何用documentID读取子收集数据?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Flutter 访问 Firestore 中特定配方的 documentId?
在嵌套对象中使用firestore的FieldPath.documentId()
如何使用 SwiftUI 中的 documentID 删除特定的 Cloud Firestore 文档?