【问题标题】:How do I update/add item to a JSON array in Firebase?如何在 Firebase 中更新/添加项目到 JSON 数组?
【发布时间】:2017-01-22 22:41:43
【问题描述】:

我有以下 Firebase 数据结构:

"Group" : {
   "34923493" : {
   "Name" : "Group 1"
   "Users" : {
       joeshmoe : true
       janedoe : true
     }
  etc..... 
  }
}

我想在“用户”部分添加以下内容:

 johndoe : true

由于用户已加入群组。我有以下代码

self.ref.child("Group").child(groupID!).child("Users").setValue([user?.username : true])

但我收到以下错误:

"Contextual type'Any' cannot be used with dictionary literal"

我不确定自己做错了什么?

【问题讨论】:

    标签: ios swift firebase firebase-realtime-database


    【解决方案1】:

    您的代码中有两处错误。

    1. 您遇到的错误很可能是由成员变量username 的类型为Any 引起的。因此,只需将其向下转换为 String

      [user?.username as! String: true]
      
    2. 这一行

      self.ref.child("Group").child(groupID!).child("Users").setValue([user?.username : true])
      

      将从字典中删除所有其他用户。您可以将[user?.username: true] 分配给那个孩子,删除已经存在的字典值。 直接更新字典键,如下所示:

      self.ref.child("Group").child(groupID!).child("Users").child(user?.username as! String).setValue(true)
      

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-04
      • 1970-01-01
      • 2021-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多