如何使用Firebase中的新数据更新旧数据?

时间:2017-02-09 11:43:15

标签: objective-c firebase firebase-realtime-database

我正在开发一个聊天应用。在我的应用程序中有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的新手。请建议我这样做的方法。如果可以遵守规则,请指导我。

1 个答案:

答案 0 :(得分:2)

无法通过规则执行此操作,因此您必须手动迭代所有数据并更新senderName。

无论如何,我认为你可能会更好地保存{senderID:$ someUserID} - 就像你在关系数据库中所做的那样。 userID是静态的,因此可以更改用户,而无需更新您使用它的所有实例。