firebase从列表中获取键值

时间:2017-12-05 16:44:24

标签: typescript firebase firebase-realtime-database

enter image description here

在/ chat上执行subscribe会返回:

[
  {
    "-L-bXjl628aN6MvCY7iA": {
      "content": "dsad",
      "img": "https://firebasestorage.googleapis.com/v0/b/neverl-fd59d.appspot.com/o/images%2F1512395563.jpg?alt=m...",
      "senderId": "TjRj5oSWrcdx8CiZyZhq625bJSx2",
      "senderName": "Khaled",
      "time": "December 5, 2017 6:38 PM"
    }
  }
]

对象正确返回但是,我无法获得值EwffbmmqgFc...。 (以黄色突出显示)

如何修改代码以便通过列出数组内容来检索路径......?

以下代码:

 send(senderId:string,chatObject:any){  
   this.db.list(`users/${senderId}/chat/${this.authProvider.getUID()}`).push(chatObject);
 }

1 个答案:

答案 0 :(得分:0)

在实时数据库中,每个对象都获得一个唯一的ID。您的聊天节点由对象组成。在聊天对象内部(以黄色突出显示)然后添加其他对象(可能是消息)我最好的猜测是你忽略了为聊天对象设置任何值/键可能是因为你在将值设置为之前只是将消息推送到引用中聊天对象本身。您应该首先创建一个名称和您选择的其他值的聊天对象。创建后,您可以将对象添加到特定的聊天参考。没有任何代码很难确定。