最初,当我开始使用Firebase时,我无法以某种格式设置数据,而我想出的解决方案是每次我想要一个不同的路径时创建一个新的firebase,而在Firebase网站上它几乎总是使用子选择。例如:
var groupRef = new Firebase(FB + "/group");
var groupUserRef = new Firebase(FB + "/group/" + groupID + "/users/" + uid);
var connectedGroupsRef = new Firebase(FB + "/connectedGroups/" + uid + "/" + groupID);
var connectedGroups = connectedGroupsRef.set(true);
这样做有什么害处吗?在文档中,它似乎没有像我这样使用这种方法,所以我担心按照我的方式进行操作可能会遇到一些问题。
答案 0 :(得分:3)
来自Firebase guide on understanding its data structure:
也可以直接访问数据中的子节点。例如,要指向Mary Chen的名称,只需将users / mchen / name附加到URL:
new Firebase("https://docs-examples.firebaseio.com/web/data/users/mchen/name");
我们可以使用child()API调用从现有的父引用中获得相同的结果:
var rootRef = new Firebase('https://docs-examples.firebaseio.com/web/data');
rootRef.child('users/mchen/name');
因此,创建对子节点的直接引用或通过一个或多个child
调用之间的效率没有区别。
实际数据绑定在JavaScript客户端库中的这些调用后面被抽象出来。这也是Firebase确保只需下载一次数据的方式,即使您有多个引用也是如此。