我如何获取 Firestore 数据库 iOS Swift 中对象键的值
Posted
技术标签:
【中文标题】我如何获取 Firestore 数据库 iOS Swift 中对象键的值【英文标题】:How do i get the value for the key of an object in a firestore database iOS Swift 【发布时间】:2021-05-18 22:07:07 【问题描述】:let db = Firestore.firestore()
let query = db.collection("users").whereField("email", isEqualTo: email).value(forKey: "email")
这是我的代码。我想从 Firestore 数据库中检索一个对象。然后我想检索一个键的值。问题是它会因以下代码而崩溃。
任何修复或类似的东西?
【问题讨论】:
修复包含在文档中 - 需要更多代码来检索查询数据。见Execute a query 【参考方案1】:您的代码尚未从 Firestore 读取任何内容:
let query = db.collection("users").whereField("email", isEqualTo: email).value(forKey: "email")
这仅定义了一个查询(在执行时)将在users
集合中查找文档。事实上,我想你会想把它留在:
let query = db.collection("users").whereField("email", isEqualTo: email)
现在您需要get data once 或listen for realtime updates。第一个最简单:
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")
获取任意字段的值。
【讨论】:
以上是关于我如何获取 Firestore 数据库 iOS Swift 中对象键的值的主要内容,如果未能解决你的问题,请参考以下文章
Nuxtjs 在 asyncData 中获取 Firestore 数据
如何在 swift iOS Firestore 中获取单元格文档 ID?
我正在尝试从我的 ios Swift 项目中的 Firestore 数据库中获取数据