ios - Firestore 仍会覆盖我的数据?
Posted
技术标签:
【中文标题】ios - Firestore 仍会覆盖我的数据?【英文标题】:ios - Firestore still overwrites my data? 【发布时间】:2018-01-08 05:37:46 【问题描述】:我正在尝试将数据添加到我的 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)
我不确定我在这里做错了什么或应该做些什么,以便我可以将我的应用用户新添加的锻炼(包括名称、代表和组)附加到我的云 Firestore 中
提前感谢您的帮助
【问题讨论】:
【参考方案1】:合并仅适用于字段级别,不支持附加到数组或映射。
这意味着它只会影响您正在编写的字段,但会覆盖那些字段。
你有两个选择:
执行读写事务以将其附加到相关字段(需要您在线)
将每个锻炼作为单独的文档写入用户文档下的 workouts
子集合中
【讨论】:
尝试了选项 2,但它仍然覆盖了我所拥有的以上是关于ios - Firestore 仍会覆盖我的数据?的主要内容,如果未能解决你的问题,请参考以下文章
为啥即使我覆盖 touchesMoved:withEvent:,UIScrollView 的子类仍会滚动?
当我使用设置数据时,Flutter Firestore 会覆盖数据
反应:更新 Firestore 文档中的一条数据会导致所有其他数据被空字符串覆盖