Javascript Firebase数据库子引用

Javascript Firebase数据库子引用,javascript,html,firebase,web,firebase-realtime-database,Javascript,Html,Firebase,Web,Firebase Realtime Database,这些轮次指的是用户ID(uid), 我的问题是如何引用当前用户的孩子 我尝试了很多,比如forEach、orderByKey等,但我找不到解决方案,所以任何人都可以帮助我? (注意:我是初学者)将数据库的结构更改为以下内容: Accounts userId randomId age : 100 name : peter userId randomId age : 120 name

这些轮次指的是用户ID(uid), 我的问题是如何引用当前用户的孩子 我尝试了很多,比如forEach、orderByKey等,但我找不到解决方案,所以任何人都可以帮助我?
注意:我是初学者)

将数据库的结构更改为以下内容:

Accounts
   userId
      randomId
          age : 100
          name : peter
   userId
      randomId
          age : 120
          name : peterx
let ref = firebase.database().ref("Accounts");
let user = firebase.auth().currentUser;

ref.child(user.uid).on("value",(snapshot)=> {
 snapshot.forEach((childSnapshot) => {
  let childData = childSnapshot.val();
  let age = childData.age;
  let name = childData.name;
  console.log(childData);
 });
});
通过这种方式将更容易查询,现在您可以执行以下操作:

Accounts
   userId
      randomId
          age : 100
          name : peter
   userId
      randomId
          age : 120
          name : peterx
let ref = firebase.database().ref("Accounts");
let user = firebase.auth().currentUser;

ref.child(user.uid).on("value",(snapshot)=> {
 snapshot.forEach((childSnapshot) => {
  let childData = childSnapshot.val();
  let age = childData.age;
  let name = childData.name;
  console.log(childData);
 });
});
另一种方法是删除randomId并直接访问数据,而无需使用
forEach


您想检索什么?我想检索当前用户的姓名和年龄等数据1)“我尝试了很多”->请编辑您的问题,以显示复制您尝试的内容的最小代码。如果我们看到你已经做了什么,我们会更容易提供帮助。2) 为什么要将帐户存储在推送ID下?我建议不要调用
push()
,而是直接使用
firebase.database().ref('Accounts').child(firebase.auth().currentUser.uid).set(…)
。谢谢你,Frank Van Puffelen它对我起了作用!但是,如果我想在不影响现有数据的情况下将另一个数据推送到现有子级,那么当我尝试记录名称和年龄时,它会显示我未定义日志记录在哪里?在console.log(childData)之后,我尝试了console.log(
${age}和${name}
)它的作用是什么给你什么?此外,api是异步的,因此您只能访问foreach内部的数据