【问题标题】:Fetch Data in Firestore在 Firestore 中获取数据
【发布时间】:2019-11-26 22:17:29
【问题描述】:

在 Firestore 中是否有任何方法可以获取单个数组中的数据列表,例如 ..在 Firebase RealTimeDatabase 中,我们通过调用单个值而不是使用 ForEachLoop 来获取数据列表...例如,在 realtimeDatabase 中,我们通过:

var messageArray  : [Message] = [ ] ()

Database.database().reference.child("messages").observe( .childAdded , with : { (snapshot) in 
    let snapShotValue = snapshot.value

    let text = snapShotValue["text"] as! String
    let username = snapShotValue["username"] as! String

    let message = Message( text ,username)

    self.messageArray.append(message)
}

但在 Firestore 中,我们必须使用 ForLoop,这没关系,但在某些情况下,我必须在 Firestore 中使用 RealTimeDatabase 选项.....例如在 Firestore 中我们使用:

FireStore.firestore().collection("messages").getDocuments { (snapshot , error ) in 

    for document in snaphot.document {

        let data = document.data( )
        let text = data["text"] as! String
        let username = data["username"] as! String


        let message = Message( text , username)
        self.messageArray.append(message)
     }
}

那么有什么方法可以将 Firestore 的数据作为类似于 FireBase RealTimeDatabase 的整个 ObjectArray 获取

【问题讨论】:

    标签: ios swift firebase firebase-realtime-database google-cloud-firestore


    【解决方案1】:

    您可以将所有对象数据存储在一个数组中,如下所示:

    let allData = snapshot.documents.compactMap { $0.data() }

    【讨论】:

      猜你喜欢
      • 2019-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-09
      • 1970-01-01
      • 2018-11-06
      • 2021-09-04
      相关资源
      最近更新 更多