Firebase查询我正在查找的键/值对位于未知引用下

时间:2017-03-31 04:05:38

标签: javascript firebase firebase-realtime-database

以下是我要查询的Firebase参考结构:

- someData
    -KgWw4iasffsD-vht3QA   <=== Firebase generated key
        - fieldA: '12345'
        - fieldB: 'here it is'

我想查询,关键例如。 fieldB,并测试其值。例如。 fieldB ='那里是'

这是我尝试过但我的语法错误:

var theRef = firebase.database().ref('someData').equalTo({fieldB: 'there it was'});

我该怎么做?谢谢你的帮助。

1 个答案:

答案 0 :(得分:5)

是的,您可以使用orderByChildequalTo创建查询参考:

"SELECT t1.*,t2.column name FROM table1 t1 JOIN table2 t2 ON t1.id=t2.employee_id "

请注意,您需要create an index使用Firebase安全规则。否则,将检索var theRef = firebase.database() .ref('someData') .orderByChild('fieldB') .equalTo('there it was'); 下的所有数据,并在客户端上执行查询。

要执行一次查询,您可以执行以下操作:

someData

或者,使用返回的Promise:

theRef.once('value',
  function (snapshot) {
    snapshot.forEach(function (child) {
      console.log(child.key, child.val());
    });
  },
  function (error) {
    console.log(error);
  }
);

或者,要查询数据并继续侦听更改,您可以执行以下操作:

theRef.once('value')
  .then(function (snapshot) {
    snapshot.forEach(function (child) {
      console.log(child.key, child.val());
    });
  })
  .catch(function (error) {
    console.log(error);
  });