[英]How to add data to firebase using for loop javascript
我想知道是否有可能使用for循环将数据添加到firebase中,因为我正在使用的数据大致相同,但是数字递增1。
var usersRef = ref.child("users");
usersRef.set({
Person1: {
name: "person1",
surname: "person1"
},
Person2: {
name: "person2",
surname: "person2"
},
Person3: {
name: "person3",
surname: "person3"
},
.........
.........
Person28: {
name: "person28",
surname: "person28"
}
});
相反,我想做的是:
var ref = new Firebase("https://docs-examples.firebaseio.com/web/saving-data/fireblog");
var usersRef = ref.child("users");
for (var i = 0; i <= 28; ++i) {
usersRef.set({
Person+i: {
name: "person" + i,
surname: "person" + i
}
});
}
这样可能吗? 欢迎任何帮助。
当然:
var person = {};
for (var i = 1; i <= 28; ++i) {
person[ "Person" + i ] = { "name": "person" + i, surname: "person" + i };
}
var ref = new Firebase("https://docs-examples.firebaseio.com/web/saving-data/fireblog");
var usersRef = ref.child("users");
usersRef.set( person );
注意:索引应从1开始
我不明白为什么不这样做,但是除非文档明确指定这样做,否则我不建议您在每次迭代中都更新Firebase
。 child
吸气剂也是如此。 我将它们移动到循环之外,如下所示:
var ref = new Firebase("https://docs-examples.firebaseio.com/web/saving-data/fireblog");
var usersRef = ref.child("users");
for (var i = 0; i <= 28; ++i) {
var persons = {};
persons['Person'+i] = {
name: "person" + i,
surname: "person" + i
}
}
usersRef.set(persons);
括号符号可用于以编程方式获取/设置属性以及使用无效JavaScript的键。
在当前方法中(即使您纠正了语法错误),由于您正在调用usersRef.set()
,因此添加的每个新用户也会替换以前的用户。 如果使用update()
而不是set,它将不会覆盖现有数据。
但这对我来说似乎更简单:
var ref = new Firebase("https://yours.firebaseio.com/");
var usersRef = ref.child("users");
for (var i = 0; i <= 28; ++i) {
usersRef.child("Person"+i).set({
name: "person" + i,
surname: "person" + i
});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.