【问题标题】:On Insert Data in Firebase RealTime Database it deletes previous data在 Firebase 实时数据库中插入数据时,它会删除以前的数据
【发布时间】:2020-02-27 11:29:16
【问题描述】:

我正在努力在我的应用程序上添加一个聊天模块,但是当我设置新值时,我遇到了一个问题,前一个值被删除。我的 Android 源代码看起来有点像:-

   Map dictMap = new HashMap();
   dictMap.put(Message.chatId,1);
   userMessageRef.child(Message.senderId + "/" + RecieverUID).setValue(dictMap);
   recipientUserMessageRef.child(RecieverUID + "/" + Message.senderId).setValue(dictMap);

在 Firebase 中,结构是 SenderID、ReceiverID、加上 dictMap,但每次我发送一条新消息时,前一条消息都会被删除。

【问题讨论】:

  • Message.senderId + "/" + RecieverUID 总是对应同一个孩子,假设你从 Dude1 向 Dude2 发送一些东西

标签: java android firebase dictionary firebase-realtime-database


【解决方案1】:

你这么喜欢

       Map dictMap = new HashMap();
       dictMap.put(Message.chatId,1);
       userMessageRef.child(Message.senderId + "/" + RecieverUID).push().setValue(dictMap);
       recipientUserMessageRef.child(RecieverUID + "/" + Message.senderId).push().setValue(dictMap);

在此方法中,为每条消息创建随机 id,并像 json 一样

     RecieverUID + "/" + Message.senderId{
                    id1:message,
                    id2:message,
                  }

【讨论】:

  • 使用 Push()。它将生成另一个 ID,但字典本身具有唯一 ID
  • @AlexMamo 我要存档的是每次都在同一个孩子上瘾的数据。
猜你喜欢
  • 2020-08-17
  • 2021-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-04
  • 1970-01-01
  • 2020-01-17
相关资源
最近更新 更多