Firestore: Как я могу прочитать данные подколлекции с documentID? - PullRequest
0 голосов
/ 10 февраля 2019

как я могу читать только текущие комментарии пользователей?Для страницы "мои собственные комментарии".мой код запускается, но если (где 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())")
                }
            })
        }
    }

1 Ответ

0 голосов
/ 10 февраля 2019

Я думаю, что вы ищете это:

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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...