我已经使用get()成功检索了单个文档的内容,但是我似乎无法弄清楚如何将字段分配给变量。 https://firebase.google.com/docs/firestore/query-data/get-data
let docRef = db.collection("ask").document(uid!)
docRef.getDocument { (document, error) in
if let document = document, document.exists {
let dataDescription = document.data().map(String.init(describing:)) ?? "nil"
print("Document data: \(dataDescription)")
} else {
print("Document does not exist")
}
}
输出:
文档数据:
["q1": 1, "q2": 1, "q3": 0, "q4": 0]
所有值都是布尔值,true或false。
如何将文档中的字段分配给变量,以便可以根据用户答案执行代码:
var q1 = [?]
if q1 == false {
//false code
} else {
//true code
}
谢谢您的帮助。
答案 0 :(得分:2)
我会这样推荐:
let docRef = db.collection("ask").document(uid!)
docRef.getDocument { (document, error) in
if let document = document, document.exists {
let dataDescription = document.data().map(String.init(describing:)) ?? "nil"
print("Document data: \(dataDescription)")
let data = document.data()
let q1 = data!["q1"]! as? Bool ?? true
if q1 == false {
//false code
} else {
//true code
}
} else {
print("Document does not exist")
}
}