如何使用 iOS Swift 更新 firebase 中的单个数组元素?

Posted

技术标签:

【中文标题】如何使用 iOS Swift 更新 firebase 中的单个数组元素?【英文标题】:How to update individual array element in firebase with iOS Swift? 【发布时间】:2018-12-19 06:24:19 【问题描述】:

这里我使用 firestore 查询来更新、插入数据。如何将数组值字典更新到 Firebase 数据库。

这是我的 Firestore 数据结构:

现在可以在模型类中获取 slot1 -> 0th position value 的数据。 如何更新 isbooked boolean value 单独的 slot1 0th position 的值不影响剩余值和其他 slot

【问题讨论】:

【参考方案1】:

你不能不阅读整个文档,修改内存中的数组数据,然后将整个数组字段更新回文档。 Firestore 数组字段中最小的变化单位是 整个 字段。您不能对字段的单个元素进行较小的更改,除了由arrayUnion 和arrayRemove 定义的那些(与您在此处尝试执行的操作不兼容)。 p>

【讨论】:

你是指整个 slotName 字典还是 slot1 数组?你能帮我解决这个问题吗? 数组。我已经说过你必须做的 - 阅读文档,在内存中进行更改,将字段写回。 @Mac_Play 我仍然没有找到答案。所以我要求后端开发人员更新它【参考方案2】:

您可以通过获取结构的确切 ID 来做到这一点..

Database.database().reference().child("SlotName").child(yourAry.key).child(yourAry.key).child("isbooked").setValue(true/false)

相应地管理您的数据库结构,这只是一个示例,正如用户 Doug 建议的那样,也可以查看文档 ..

【讨论】:

以上是关于如何使用 iOS Swift 更新 firebase 中的单个数组元素?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Swift 包管理器更新 iOS 模拟器部署目标?

如何使用 iOS Swift 更新 firebase 中的单个数组元素?

即使应用程序在后台运行,如何使用 swift 在 ios 中获取位置更新

iOS如何编辑(更新)日期我表格视图单元格解析Swift

如何在 iOS swift 运行时更新 CAGradientLayer 颜色?

iOS当我滚动到底部Swift 4时如何更新表格视图数据