Firebase - 如何通过键

时间:2015-12-16 15:38:15

标签: javascript firebase

Firebase - 如何通过键从对象列表中获取对象。

这是我目前的例子:

 var query = this.refJob.orderByChild("key").equalTo(key); 
 query.on('value', (snap) => console.log(snap.val()));

虽然返回null。

我正在尝试从firebase表中获取1个对象。 它不是一个试图获得的儿童领域。

我有钥匙,想要按键获取对象。

2 个答案:

答案 0 :(得分:2)

按键选择并不需要查询,需要构建数据路径。

var ref = new Firebase('<my-firebase-app>');
var key = "someKey";
var keyRef = ref.child(key);
keyRef.on('value', (snap) => console.log(snap.val());

Firebase是一个键值存储,每个数据都有一个映射到它的URL作为键。

获取以下数据:

{
  "someKey": {
    "title": "I'm a key"
  }
}

someKey对象将存储在网址https://<my-firebase-app>.firebaseio.com/someKey

因此,无论何时需要通过查找数据,只需使用网址或.child()构建路径。

答案 1 :(得分:0)

我做了这样的事情:

import firebase from 'firebase';

...

const item_key = "someKey"; // key of the single item in list

firebase.database().ref(`/list/${item_key}`)
  .on('value', snapshot => { // is called whenever value is changed
    console.log(snapshot.val());
    const item = snapshot.val(); // returned item === { foo: "bar", ... }
});

数据结构:

{
  "list": {
    "someKey": {
      "foo": "bar",
      ...
    },
    ...
  }
}