在 Firebase 中获取特定行

Getting a certain row in Firebase

这是我从 Firebase 文档中得到的代码。它 return 是 table 内的所有内容,所以在这种情况下

 Object { first: "Fred",  last: "Flintstone"}

但是我只需要returnfirst的值,也就是"Fred".

var dbFirebase = new Firebase("firebaselink")

dbFirebase.once('value', function(nameSnapshot) {
  var val = nameSnapshot.val();
  console.log(val);
  // val now contains the object { first: 'Fred', last: 'Flintstone' }.
});
<script src="https://cdn.firebase.com/js/client/2.2.4/firebase.js"></script>

通常,这应该 return 第一个对象。

console.log("First Name: " + val.first);

在 Firebase 中,JSON 树中的每个 属性 都有自己的地址。因此,如果 firebaseLink 指向整个 { first: 'Fred', last: 'Flintstone' } 对象,那么 firebaseLink/first 将仅指代他的名字。

作为 Yuuin 解决方案的替代方案,您可以附加回调以收听 first 名称:

var dbFirebase = new Firebase("firebaselink/first");

dbFirebase.once('value', function(nameSnapshot) {
  var val = nameSnapshot.val();
  console.log(val);
  // val now contains 'Fred'
});

请注意,这在 Firebase's guide on understanding its data structure 中有很好的记录。