问题描述
我目前正在开发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更新数据库后,它现在的值就不会更新!请帮助我
解决方法
鉴于您的文档数据如下所示:
["items":0,"order":["Book1":0,"Book2":0,"Book3":0]]
首先,您需要访问文档中的order
字段,然后才能在该字段中找到项目
let order = document.get("order")
据我所知,这使order
成为字典,因此您可以使用以下命令从中获取特定值:
let book1 = order["Book1"] as Int