我们可以像查询中的sql那样在firebase上进行查询吗

我们可以像查询中的sql那样在firebase上进行查询吗,firebase,firebase-realtime-database,Firebase,Firebase Realtime Database,我想从父节点中选择剑龙和pegosaurus。这类似于在查询中,我们在查询中提供逗号分隔的值。例如 从my_表中选择*,其中id位于('stegosaurus','pegosaurus') 我已经阅读了firebase的文档,没有任何帮助。任何建议都会非常有用。您只能执行以下操作: { "lambeosaurus": { "height" : 2.1, "length" : 12.5, "weight": 5000 }, "stegosaurus": {

我想从父节点中选择剑龙和pegosaurus。这类似于在查询中,我们在查询中提供逗号分隔的值。例如
从my_表中选择*,其中id位于('stegosaurus','pegosaurus')


我已经阅读了firebase的文档,没有任何帮助。任何建议都会非常有用。

您只能执行以下操作:

{
  "lambeosaurus": {
    "height" : 2.1,
    "length" : 12.5,
    "weight": 5000
  },
  "stegosaurus": {
    "height" : 4,
    "length" : 9,
    "weight" : 2500
  }
  "pegosaurus": {
    "height" : 4,
    "length" : 9,
    "weight" : 1000
  }
}

在这里,您检查键是否等于pegosaurus,然后循环并检索子数据。

可能重复:您检查答案了吗?是的。我尝试过这些解决方案,但都不管用。因此,我对调用进行分页,并检查我的值是否存在。我们不得不一次又一次地请求使用equalto param中的密钥,所以这也不适合我。firebase没有提供任何方法可以在查询中作为SQL执行,因为firebase中的所有数据都存储在JSON中。@aqiltariq65是的,我给您的解决方案是唯一的解决方案
var db = firebase.database();
var ref = db.ref("users");

ref.orderByKey().equalTo("pegosaurus").on("value", (snapshot) => {
  snapshot.forEach((childSnapshot)=> {
     let length = childSnapshot.val().length;
     let height=childSnapshot.val().height;
     let weight=childSnapshot.val().weight;
    });
});