我正在开发一个聊天应用。在我的应用程序中有4个名为User, Recent, Message, Group
的节点。我正在使用Objective-C我的消息对象看起来像
{
"createdAt" : 1.486618017521277E9,
"groupId" : "-KcWKeXXQ9tjYsYfCknx",
"objectId" : "-KcWKftK8GiMxxAnarL5",
"senderId" : "828949592937598976",
"senderImage" : "http://hairstyleonpoint.com/wp-content/uploads/2014/10/marcello-alvarez.png",
"senderName" : "John Doee",
"status" : "Seen",
"text" : "Hi all",
"type" : "text",
"updatedAt" : 1.486622011467733E9
}
当我更新用户时,所有邮件的senderName
都应相应更新。是否有办法通过代码执行此操作或我是否需要编写规则。我是firebase的新手。请建议我这样做的方法。如果可以遵守规则,请指导我。
答案 0 :(得分:2)
无法通过规则执行此操作,因此您必须手动迭代所有数据并更新senderName。
无论如何,我认为你可能会更好地保存{senderID:$ someUserID} - 就像你在关系数据库中所做的那样。 userID是静态的,因此可以更改用户,而无需更新您使用它的所有实例。