首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用for循环javascript向防火墙添加数据

如何使用for循环javascript向防火墙添加数据
EN

Stack Overflow用户
提问于 2016-02-26 08:37:40
回答 3查看 1.3K关注 0票数 0

我想知道是否有可能使用for循环将数据添加到firebase,因为我正在处理的数据或多或少是相同的,但数字增加了1。

代码语言:javascript
复制
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"
  }
});

相反,我想做的是:

代码语言:javascript
复制
    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
    }
   });
}

有可能发生这样的事吗?欢迎任何帮助。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-02-26 08:46:40

当然:

代码语言:javascript
复制
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开始

票数 2
EN

Stack Overflow用户

发布于 2016-02-26 08:43:18

我不明白为什么不行,但我不建议在每次迭代中都使用Firebase,除非文档明确指定要这样做。child吸气器也是如此。我会像这样把它们移到外环:

代码语言:javascript
复制
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键。

票数 0
EN

Stack Overflow用户

发布于 2016-02-26 09:51:33

在您的当前方法中(即使您修复了语法错误),您添加的每个新用户都会替换以前的用户,因为您正在调用usersRef.set()。如果使用update()而不是set,则不会覆盖现有数据。

但在我看来,这似乎更简单:

代码语言:javascript
复制
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
    });
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35647006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档