Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 更新Firestore结构_Swift_Firebase_Google Cloud Firestore - Fatal编程技术网

Swift 更新Firestore结构

Swift 更新Firestore结构,swift,firebase,google-cloud-firestore,Swift,Firebase,Google Cloud Firestore,我在Firestore中有一个结构,我必须在Swift中进行更新。 这是我的结构: Customer userId subscription documentID items[] -> (items is an Array) [ 0 ]

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

Customer
        userId
            subscription
                    documentID
                            items[]  ->  (items is an Array)
                                [ 0 ]
                                    price ->  (dictionary)
                                        product ->  (dictionary)
                                            metadata ->  (dictionary  
                                                data: “string” (this data update)
请问,有人能帮我吗


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

下面是一个示例代码段,它可能会让您朝着正确的方向出发:

func updateData(newData:String,documentID:String){
let对象:[String:String]=[“data”:newData]
设db=Firestore.Firestore()
guard let userID=Auth.Auth().currentUser?.uid else{return}
db.集合(“客户”).文档(用户ID).集合(“订阅”)
.文件(documentID).收集(“项目”).文件(“价格”).收集(“产品”)
.document(“元数据”).setData(对象,合并:false){err in
如果让err=err{
打印(“更新子数组时出错:\(错误)”)
}否则{
打印(“更新childArray成功”)
}
}
}

您可能还想查看有关更新数组中元素的firebase文档:。

Hi Marmaduk,谢谢您的回答。“物品”是一个数组,“价格”位于[0]位置。@LinoP。如果它对你有帮助,请考虑回答。对不起,不幸的是它没有帮助。me@LinoP请阅读我答案中有关数组的链接。“进行更新”的确切含义是什么?你想更新什么?你有没有尝试过的代码?请花一点时间,回顾一下