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)
}
}
有没有办法像FireBase RealTimeDatabase一样将Firestore的数据作为整个ObjectArray获取
最佳答案
您可以将所有对象数据存储在一个数组中,如下所示:
let allData = snapshot.documents.compactMap { $0.data() }
关于ios - 在 Firestore 中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57086714/