在 Swift 中从 Firestore 读取数据

Reading data from Firestore in Swift

我目前正在开发一个 IOS 应用程序,我需要一个数据库!我选择了 google firestore!我需要阅读我创建的一些具有子字段的字段! 像这样:

db.collection("usersorders").document(uid).collection("order").addDocument(data: ["items":0, "order":["Book1":0,"Book2":0,"Book3":0]]){ (error) in
                
                if error != nil {
                    // Show error message
                    print("Error saving user data")
                }
            }

例如,我需要在哪里读取“Book1”值!我找了很多地方,但似乎找不到我要找的东西。从文档的字段中读取子字段!

@IBAction func AddtoCart(_ sender: Any) {
    let uid = user!.uid
    let docRef = db.collection("usersorders").document(user!.uid).collection("order").document()


    docRef.getDocument(source: .cache) { (document, error) in
        if let document  = document {
            let Book1  = document.get("Book1")
            let Items = document.get("items")
            
            let Book1now = Book1 as! Int + 1
            let Itemsnow = Items as! Int + 1
            
            
                  
        
}
    }}

这是我一直在做的,但没有用!在编写了使用 Items/Book1 now 值更新数据库的代码后,它只是不更新​​!请帮助我

鉴于您的文档数据如下所示:

["items":0, "order":["Book1":0,"Book2":0,"Book3":0]]

您首先需要访问文档中的 order 字段,然后才能在该字段中找到项目

let order = document.get("order")

据我所知,这使 order 成为一个字典,因此您可以通过以下方式从中获取特定值:

let book1 = order["Book1"] as Int