我想知道是否有可能使用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
}
});
}有可能发生这样的事吗?欢迎任何帮助。
发布于 2016-02-26 08:46:40
当然:
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开始
发布于 2016-02-26 08:43:18
我不明白为什么不行,但我不建议在每次迭代中都使用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键。
发布于 2016-02-26 09:51:33
在您的当前方法中(即使您修复了语法错误),您添加的每个新用户都会替换以前的用户,因为您正在调用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
});
}https://stackoverflow.com/questions/35647006
复制相似问题