【问题标题】:Update Firestore Structure [closed]更新 Firestore 结构 [关闭]
【发布时间】:2021-05-11 09:02:26
【问题描述】:

我在 Firestore 中有一个结构,我必须在 Swift 中进行更新。 这是我的结构:

Customer
        userId
            subscription
                    documentID
                            items[]  ->  (items is an Array)
                                [ 0 ]
                                    price ->  (dictionary)
                                        product ->  (dictionary)
                                            metadata ->  (dictionary  
                                                data: “string” (this data update)

请问,谁能帮帮我?

enter image description here

【问题讨论】:

标签: swift firebase google-cloud-firestore


【解决方案1】:

我假设您的数据结构遵循集合>文档>集合层次结构。如果是这种情况,您可以使用 setData 功能来更新字典。

这里有一个示例代码 sn-p,它可能会让你朝着正确的方向开始:

func updateData(newData: String, documentID: String) {
    
    let object : [String: String] = ["data" : newData]
    let db = Firestore.firestore()
    
    guard let userID = Auth.auth().currentUser?.uid else {return}
    
    db.collection("Customer").document(userID).collection("subscription")
        .document(documentID).collection("items").document("price").collection("product")
        .document("metadata").setData(object, merge: false) { err in
            if let err = err {
                print("There was an error updating the childArray: \(err)")
            } else {
                print("Updating childArray was successful")
            }
        }
}

您可能还想查看有关更新数组元素的 firebase 文档:Firestore: Update elements in an array

【讨论】:

  • 您好 Marmaduk,感谢您的回答。 “items”是一个数组,“price”在位置 [0]。
  • @LinoP。如果对您有帮助,请考虑accepting 的答案。
  • 对不起,不幸的是它没有帮助我
  • @LinoP 阅读了我关于数组的答案中的链接。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-17
  • 2020-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多