2017-11-21 1 views
0

Der vollständige Pfad für meine Referenz wie dieseFirebase immer die Referenz

data/-KdWI6HAF0_wh9-NTEpe/films/thelobster/rating 

aussieht und ich kann es mit

firebase.database().ref('data/-KdWI6HAF0_wh9-NTEpe/films/thelobster/rating') 
    .set(5); 

Das Problem ist, dass sowohl die Schlüssel -KdWI6HAF0_wh9-NTEpe und thelobster sind dynamisch.

Es macht es schwieriger als es sein sollte, gibt es eine Möglichkeit, dies nur mit dem -KdWI6HAF0_wh9-NTEpe Schlüssel zu machen und den Filmnamen zu einem Wildcard machen? Oder gibt es einen besseren Weg, den ich vermisse?

Antwort

0

Sie können child() Methode Firebase des verwenden:

firebase.database().ref('data').child(key).child('films').child(filmKey).child('rating').set(5); 

Alternativ können Sie ES6 string interpolation verwenden:

firebase.database().ref(`data/${key}/films/${filmKey}/rating`).set(5); 
0

Firebase gibt 'key', welche die ID verwendet Ihr Objekt zu verweisen. Etwas wie das.

var ref = firebase.database().ref("users/ada"); 
ref.once("value") 
    .then(function(snapshot) { 
    var key = snapshot.key; // "ada" 
    var childKey = snapshot.child("name/last").key; // "last" 
    }); 

Sie können mehr darüber lesen here.

Für 'thelobster' können Sie die Daten, die von Firebase kommen, console.log() überprüfen, den Speicherort des sich dynamisch ändernden 'thelobster' überprüfen, auf eine Variable setzen und die Variable in Ihrer URL verwenden. Da ich nicht weiß, wie Ihre eingehenden Daten aussehen, kann ich Ihnen diesen Code nicht zur Verfügung stellen.

Verwandte Themen