从实时数据库 (Firebase) 上的子类别读取数据

问题描述 投票:0回答:1

我正在尝试读取所有用户的消息输入。我可以为特定用户执行此操作,但我想通过在代码中指定为所有用户执行此操作,但是,每个 UID 都是唯一的...

我的实时数据库设置为:

-Realtime Database Tree-

--- chats ---
             |
            UID (unique) ---
                            |
                            email: [email protected]
                            message: Hello World.
                            date: Tues Apr 16 2024

我尝试了下面的当前代码:

const dbRef = ref(getDatabase());
            get(child(dbRef, 'chats/')).then((snapshot) => {
              if (snapshot.exists()) {

                const snaps = snapshot.val();
                console.log(snaps);


              } else {
                console.log("No data available");
              }
            }).catch((error) => {
              console.error(error);


            });

我想检索电子邮件、消息和日期以将其显示到 console.log 中。我可以使用特定的 UID 来做到这一点,例如

            get(child(dbRef, 'chats/specific_UID')).then((snapshot) => {
              if (snapshot.exists()) {

                const snaps = snapshot.val().message;
                console.log(snaps);

但是,我想从电子邮件、消息和日期中获取每个 UID 内的数据。

我该怎么做?

javascript firebase firebase-realtime-database
1个回答
0
投票

遵循 Firebase 文档中关于 读取具有值事件的节点列表的代码示例,即:

const dbRef = ref(getDatabase());
get(child(dbRef, 'chats/')).then((snapshot) => {
  snapshot.forEach(childSnapshot) => {
    const value = childSnapshot.val();
    console.log(value);
  });
}).catch((error) => {
  console.error(error);
});
© www.soinside.com 2019 - 2024. All rights reserved.