let db = Firestore.firestore()
let query = db.collection("users").whereField("email", isEqualTo: email).value(forKey: "email")
这是我的密码。我想从消防仓库数据库中检索一个对象。然后我想检索一个键的值。问题是它与以下代码一起崩溃。
有什么办法吗?
您的代码还没有从Firestore读取任何内容:
let query = db.collection("users").whereField("email", isEqualTo: email).value(forKey: "email")
这仅仅定义了一个查询,该查询(在执行时(将在users
集合中查找文档。事实上,我想你会想把它留在:
let query = db.collection("users").whereField("email", isEqualTo: email)
现在,您需要获取一次数据,或者监听实时更新。第一个是最简单的:
query.getDocuments() { (querySnapshot, err) in
if let err = err {
print("Error getting documents: (err)")
} else {
for document in querySnapshot!.documents {
print("(document.documentID) => (document.data())")
}
}
}
这里的document.data()
是一个字典,因此您可以通过字典或使用document.get("field")
从中获取任何字段的值。