0

使用 Firebase 的根目录运行以下查询时,会添加额外的节点。

询问:

fire.set({
"users":[
    {
        "0":[
            {
                "email":"foobar@gmail.com",
                "snake":[
                    {
                        "highScore":"15"
                    }
                ]
            }
        ]
    }
]
});

结果

输入错误。

格式化 json 文件中的数据并使用 Firebase Web 界面直接导入时,我得到了相同的结果。我是否遗漏了文档中的某些内容?

4

1 回答 1

3

这里的问题是,任何时候您使用数组语法,即 [ ... ],都会在 Firebase 中创建一个“数组”,我们只需使用数字键(即 0、1、2、. ..)。

所以如果你这样做:

ref.set({ a: 5 });

结果对象将是:

{ a: 5 }

但是,如果您改为这样做:

ref.set([{a: 5}, {b: 6}]);

你会得到:

{ 
  '0': { a: 5 }, 
  '1': { b: 6 } 
}

因此,如果您只是从您设置的数据中删除方括号,例如:

fire.set({
  "users": {
    "0": {
      "email":"foobar@gmail.com",
      "snake": {
        "highScore":"15"
      }
    }
  }
});

Web 界面中的结果数据应与您的数据完全匹配。

于 2013-01-30T21:29:05.163 回答