Невозможно получить данные из существующего документа в рамках коллекции (Swift & Firestore) - PullRequest
0 голосов
/ 04 апреля 2019

enter image description here

Структура сообщения:

сообщения> currentUserID (документ)> partnerID (коллекция)> сообщение (документ)

Я могу добраться до получения идентификатора партнера, но не могу получить отдельные сообщения (документы) в коллекции.Вот функции, которые я использую:

func observeUserMessages(){
    guard let uid = Auth.auth().currentUser?.uid else { return }

    let dbRef = db.collection("messages").document(uid).addSnapshotListener { (querySnapshot, error) in
        guard let snapshot = querySnapshot?.documentID else { return }
        print("This is the partner ID: \(snapshot)")
        self.fetchMessageWithPartnerID(partnerID: snapshot)
    }
    self.tableView.reloadData()
}

fileprivate func fetchMessageWithPartnerID(partnerID: String) {
    guard let uid = Auth.auth().currentUser?.uid else { return }

    Firestore.firestore().collection("messages").document(uid).collection(partnerID).getDocuments { (snapshot, err) in
        print("This is the snapchat count:\(snapshot?.count)")
    }
}

Результаты:

enter image description here

Как видите, должно отображаться два сообщения, ноничего не возвращается.

1 Ответ

0 голосов
/ 04 апреля 2019

Я думаю, что есть разница между .collection() и .document(). Попробуйте

Firestore.firestore().collection("messages").collection(uid).collection(partnerID).getDocuments { (snapshot, err) in
    print("This is the snapchat count:\(snapshot?.count)")
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...