为了账号安全,请及时绑定邮箱和手机立即绑定

如何在不知道 id 的 fire-base 数据库中查找嵌套值?

如何在不知道 id 的 fire-base 数据库中查找嵌套值?

吃鸡游戏 2021-12-23 16:17:36
我正在构建一个以 firebase 作为后端的聊天应用程序。问题是我在 firebase 数据库中创建了两个表,一个用于存储用户和其他人的消息。我的表如下...{  "chat-group" : {    "a0d4086c-66f7-4437-a23f-4b8e07da9bb8" : {      "userId1" : "cdc0f59c-66b2-4bac-abe1-fe89a0e29a28",      "userId2" : "382a321d-8bcd-4b62-bb4e-25b7c1df4ca2"    },    "b9afcd88-0b6a-4e77-8dd7-ea3fc17962b9" : {      "userId1" : "cdc0f59c-66b2-4bac-abe1-fe89a0e29a28",      "userId2" : "cb754c6b-1702-47dd-a3b8-b34e970ea9a2"    }  },  "messages" : {    "a0d4086c-66f7-4437-a23f-4b8e07da9bb8" : {      "-LtT1kMDQrrkSbIDscnz" : {        "name" : "Parth Shrivastav",        "text" : "hello",        "timestamp" : 1573535811230      }    },    "b9afcd88-0b6a-4e77-8dd7-ea3fc17962b9" : {      "-LtT1xclHzrnY_xSWrMJ" : {        "name" : "Parth Shrivastav",        "text" : "😃",        "timestamp" : 1573535865601      }    }  }}我想将用户表下的聊天 ID 与消息下的聊天 ID 相关联,并在该聊天 ID 的自动生成的 ID 下检索消息。database().ref('messages/b9afcd88-0b6a-4e77-8dd7-ea3fc17962b9)        this.ref            .limitToLast(20)            .on('child_added', snapshot =>            snapshot.forEach(msgdata => {              console.log(msgdata)通过对数据使用 forEach,数据库似乎是静态的,并且在数据中似乎有任何新消息可用时不会更新。我需要为任何新数据刷新屏幕。
查看完整描述

1 回答

?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

由于您正在侦听child_added事件,因此 Firebase 客户端将为messages/b9afcd88-0b6a-4e77-8dd7-ea3fc17962b9. 这意味着您不需要遍历snapshot代码中的子项,而可以直接从snapshot.


.on('child_added', snapshot =>

  console.log(snapshot.val());

}


查看完整回答
反对 回复 2021-12-23
  • 1 回答
  • 0 关注
  • 123 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信