【问题标题】:How do i get the value for the key of an object in a firestore database iOS Swift我如何获取 Firestore 数据库 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

标签: ios swift firebase google-cloud-firestore


【解决方案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 oncelisten 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")获取任意字段的值。

【讨论】:

    猜你喜欢
    • 2018-11-12
    • 1970-01-01
    • 1970-01-01
    • 2021-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-15
    • 2016-07-22
    相关资源
    最近更新 更多