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

时间:2018-12-19 06:24:19

标签: ios arrays swift firebase google-cloud-firestore

在这里,我正在使用Firestore查询来更新,插入数据。如何将数组值的字典更新到Firebase数据库。

这是我的firestore数据结构:enter image description here

现在可以在模型类中获取 slot1->第0个位置值的数据。 如何仅更新已预订的布尔值的插槽1 第0位的值,而不会影响剩余值和其他插槽

2 个答案:

答案 0 :(得分:1)

您不能不读取整个文档,而是修改内存中的数组数据,然后再更新整个数组字段来处理文档。 Firestore数组字段中最小的更改单位是 entire 字段。您不能对字段的各个元素进行较小的更改,除外arrayUnionarrayRemove定义的更改(与您在此处尝试执行的操作不兼容) )。

答案 1 :(得分:1)

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

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

相应地管理您的数据库结构,这只是一个示例,正如道格(Doug)用户建议的,也可以浏览文档。.