无法从 firebase 数据库检索 OrderbyChild() 数据

Unable to retrieve OrderbyChild() data from firebase database

我的数据库结构是这样的截图:

我曾使用 orderByChild() 从 firebase 数据库检索数据,使用我的输入 RegId,但我得到的值是 NULL

请告诉我如何使用 RegId 作为用户输入来检索数据。

return admin.database().ref('Table/'+RegId).orderByChild('RegId').once("value").then((snapshot) => {
    var name = snapshot.child("FirstName").val();
    agent.add(`The student name is ` + name);
    var email = snapshot.child("EmailId").val();
    agent.add(`The student Mail is ` + email);
    var Regno = snapshot.child("RegId").val();
    agent.add(`The student Register no is ` + Regno);
})

我得到的输出为:

学生姓名为空

学生邮箱为空

学号为空

当您对 Firebase 数据库执行查询时,可能会有多个结果。所以快照包含这些结果的列表。即使只有一个结果,快照也会包含一个结果的列表。

这意味着您的代码将需要通过在回调中遍历 snapshot.forEach() 来处理此列表:

return admin.database().ref('Table/'+RegId).orderByChild('RegId').once("value").then((snapshot) => {
  snapshot.forEach((user) => {
    var name = user.child("FirstName").val();
    agent.add(`The student name is ` + name);
    var email = user.child("EmailId").val();
    agent.add(`The student Mail is ` + email);
    var Regno = user.child("RegId").val();
    agent.add(`The student Register no is ` + Regno);
  });
})