我试图在Firebase中创建这种数据结构。
"updates": {
"place_id_1": [
"update1": {},
"update2": {}
],
"place_id_2": [
"update1": {},
"update2": {}
]
}
这是我正在使用的代码,但收到错误TypeError: updates.$child is not a function(…)
。不确定是什么问题。如果您尝试添加对象/路径,Firebase是否会创建对象/路径?
var ref = new Firebase(FirebaseConfig.baseUrl + "/updates");
var updates = $firebaseObject(ref);
updates.$child(update.place_id).$push(update); // will this work?
答案 0 :(得分:0)
$child()
和$push
不是AngularFire中的方法。我强烈建议您阅读AngularFire的quickstart和step-by-step guide。在文档中花费了几个小时就可以防止数百个问题。
要创建您正在寻找的结构,您可以使用AngularFire,但您不需要它。
使用Firebase JavaScript SDK:
var ref = new Firebase(FirebaseConfig.baseUrl + "/updates");
var place1 = ref.push();
place1.push({ key: 'value1' });
place1.push({ key: 'value2' });
var place2 = ref.push();
place2.push({ key: 'value3' });
place2.push({ key: 'value4' });
使用AngularFire:
var ref = new Firebase(FirebaseConfig.baseUrl + "/updates");
var place1 = $firebaseArray(ref.push());
place1.$add({ key: 'value1' });
place1.$add({ key: 'value2' });
var place2 = $firebaseArray(ref.push());
place2.$add({ key: 'value3' });
place2.$add({ key: 'value4' });
请注意,使用AngularFire读取这样的嵌套数组会很棘手。这是Firebase文档建议针对嵌套数组的一个原因。