来自:https://firefeed.io/about.html
为什么这个结构?我们正在优化性能和可扩展性。当我们需要显示特定用户的Feed时,我们只需要查看一个位置:
var feed = firebase.child("users").child(userid).child("feed");
feed.on("child_added", function(snapshot) {
var sparkID = snapshot.name();
var sparkRef = firebase.child("sparks").child(sparkID);
sparkRef.on("value", function(spark) {
// Render the spark into the user's feed.
});
});
我不明白你如何存储id并列出火花。对我来说,你要呈现的只是一个id列表。 Firebase如何知道获取sparkid列表的数据以便可以呈现?
答案 0 :(得分:1)
关键是:
var sparkRef = firebase.child("sparks").child(sparkID);
sparkRef.on("value", function(spark) { ... });
这将从列表中获取sparkID,并在/ sparks下将回调附加到存储所有spark数据的位置。这使得Firefeed可以在各个地方使用sparkIds列表,而无需复制每个spark的所有数据。作为一个额外的优点,如果火花被更新,它将在每个列表中自动更新,因为列表只是存储指针。