Firebase - 如何通过键从对象列表中获取对象。
这是我目前的例子:
var query = this.refJob.orderByChild("key").equalTo(key);
query.on('value', (snap) => console.log(snap.val()));
虽然返回null。
我正在尝试从firebase表中获取1个对象。 它不是一个试图获得的儿童领域。
我有钥匙,想要按键获取对象。
答案 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",
...
},
...
}
}