如何在没有父节点的值/名称的情况下检索节点的数据?

时间:2019-07-28 20:34:21

标签: javascript firebase firebase-realtime-database

我想检索一些其他节点内部(在firebase数据库中)的节点数据,而无需那些父节点的名称。我该怎么做?谢谢。

这是我尝试过的。 (数据库中的“ this”位于其他一些节点内)。

 var this = this.id;
 var thisDbData = firebase.database().ref(this);
 thisDbData.on('value', function(snapshot){
   var name = snapshot.child('name').val();
   console.log(name);  
 });

“名称”变量返回null。

2 个答案:

答案 0 :(得分:1)

您应该可以使用orderByKey()来通过其键获取节点:

var root = firebase.database().ref('products');
var query = root.orderByKey().equalTo('-Lh0CbgAW8R2-vjMELqr');
query.once('value', function(snapshot){
  snapshot.forEach(function(child) {
    var name = child.child('name').val();
    console.log(name);
  })
});

答案 1 :(得分:0)

如果需要,可以使用context.params来获取这些名称,否则使用{}可以访问子节点而不知道它们是什么。

var this = this.id;
 var thisDbData = firebase.database().ref("products/{userName}/{pushId}/name");
 thisDbData.on('value', function(snapshot){
   var name = snapshot.val();
   return console.log(name);  
 });