无法获取子收集数据

时间:2019-07-11 06:27:50

标签: ios swift xcode firebase google-cloud-firestore

我在collection name > User doc id > sub collection > auto id > some data.

我需要检索“一些数据”。我尝试了下面的代码。但是我没有在每个自动生成的ID中获得确切的数据

var location: [DocumentSnapshot] = []

这是我使用的方法:

Firestore.firestore().collection("Users").document("KWfMNamZ4dN0DfQppLl33Ng692F3").collection("Relations").getDocuments { (querySnapshot: QuerySnapshot?, error: Error?) in
                if let error = error {
                    print(error.localizedDescription)
                } else {
                    self.location = (querySnapshot?.documents)!
                    print(querySnapshot)
                    //[<FIRQueryDocumentSnapshot: 0x2803db100>, <FIRQueryDocumentSnapshot: 0x2803db1c0>]
                    print(self.location)
                }
            }

但是当我打印查询时,我总是得到:

[<FIRQueryDocumentSnapshot: 0x2803db100>, <FIRQueryDocumentSnapshot: 0x2803db1c0>]

我有一个集合名称,称为“用户”。它有一些“ Uid”。在那个特定的Uid中,我还有另一个子集合,称为“关系”。这种关系具有一些数据的自动生成ID。

所以我总共可能有一个或多个auto gen id,每个id都有一些数据。所以我需要获取所有数据,而不仅仅是auto gen id。

我该如何实现。任何解决方案都会有所帮助

谢谢

1 个答案:

答案 0 :(得分:1)

获取您的文档数据,如下所示:

for document in querySnapshot!.documents {

    print("\(document.documentID) => \(document.data())")

 }

它将为您提供带有数据的ID。请参阅Firestore