我正在尝试将数据添加到我的firestore中,但是,我已经使用了SetOptions.merge()方法的文档,但它仍然覆盖了我的数据
这是我的代码
docRef = Firestore.firestore().collection("\(userID!)").document("\(self.dateChose)")
let dataToBeSaved: [String: Any] = ["workout name": routineNames, "workout sets": routineSets, "workout Reps": routineReps]
docRef.setData(dataToBeSaved, options: SetOptions.merge()) {(error) in
if let error = error {
print(error.localizedDescription)
} else {
self.dismiss(animated: true, completion: nil)
}
}
我不确定我在这里做错了什么或者我应该做些什么,以便我可以将我的应用用户新添加的锻炼(包括姓名,代表和套装)添加到我的云端防火墙
提前感谢您的帮助
答案 0 :(得分:0)
合并仅适用于字段级别,它不支持附加到数组或映射。
这意味着它只会影响您正在编写的字段,但对于那些字段会覆盖它。
您有两个选择:
执行读写事务以将其附加到相关字段(这需要您联机)
将每个锻炼作为单独的文档写在用户文档下的workouts
子集合中