swift - Firebase UpdateChildValues 没有设置任何值

标签 swift firebase firebase-realtime-database

我有一个聊天应用程序,用户可以在其中设置 1:1 或 1:many 聊天室。我想在 chat_room_members 下存储该 chat_room 的所有 uid。我正在尝试使用 updateChildValues([user.id: true]) 但它没有设置任何内容。如果我改用 setValues,它会覆盖 uid 并只存储最后一个,这不是我想要的。这是我正在尝试做的事情:

// chat_room_members > chatId > userId : true
for user in recipients {
print("user id to be set in chat_room_members:", user.id) // prints successfully all uids of the users

    Database.database().reference().child("chat_room_members").child(chatId).updateChildValues([user.id : true])
}

PS: recipients 是一个数组,存储了当前用户想要开始聊天的所有用户。

chat_room_members 甚至不存在于数据库中时,我正在对此进行测试。第一个 chat_room 设置此节点。

最佳答案

你可以试试

var dic = [String:Bool]()
recipients.forEach { dic.updateValue(true, forKey:$0.id) }
Database.database().reference().child("chat_room_members").child(chatId).setValue(dic)

关于swift - Firebase UpdateChildValues 没有设置任何值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52273206/

相关文章:

swift - "Collection where Indices.Iterator.Element == Index"是什么意思

ios - 使用捏合手势调整 Sprite Kit 节点大小

java - 我遇到错误并且陷入此错误 : E/RecyclerView: No adapter attached; skipping layout

javascript - 如何检查表单提交时 firebase 推送事件是否成功

ios - 火力地堡 : Access the database from URL

swift - 使用 ..< 在循环中索引

objective-c - 使用 Swift 中的 block 调用 Objective-C 方法

angular - 导入 AngularFirestoreModule : "This type parameter might need an ` extends firebase. firestore.DocumentData` 约束时出现问题。”

java - Firebase 数据库搜索查询无法正常工作

android - Firebase 多路径更新覆盖而不是更新子项