Firebase函数检索数据

时间:2018-11-08 18:22:29

标签: node.js firebase firebase-realtime-database

我在firebase上有这样的数据结构

-B4PWzQ84KUOeuTuxVY:{

doctorId:2,
Message:abc
}

我想基于StudentId检索消息,所以记录太多 我的代码只检索整个对象,但只要DoctorId为2,我只需要Messages值

   db.ref('students/' )
        .orderByChild("DoctorId")
        .equalTo("2")
        .once('value',(whereresult) => {
        var message = whereresult.val();
 });

1 个答案:

答案 0 :(得分:2)

代码中存在三个问题:

  1. 属性名称区分大小写,因此doctorId <> DoctorId
  2. 您将ID存储为数字,因此应将数字传递给equalTo
  3. 对Firebase数据库执行查询时,可能会有多个结果。因此,快照包含这些结果的列表。即使只有一个结果,快照也会包含一个结果的列表。

总计:

db.ref('students/' )
  .orderByChild("doctorId")
  .equalTo(2)
  .once('value',(snapshot) => {
      snapshot.forEach(function(child) {
          console.log(child.key, child.val());
      });
  });