我有一个聊天应用程序,用户可以在其中设置 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/