【发布时间】:2023-03-16 06:05:02
【问题描述】:
我正在使用 Angular.js 和 Firebase 创建一个应用程序,在界面正常工作之前,我计划手动插入数据。虽然添加键:值对很容易,但我无法弄清楚如何构建多层次的数据,比如添加一个内部有多个条目的对象。如果我导入一个 json 文件,它会这样做,但我不想每次我想进行更改时都必须编辑一个 json 文件并上传它。有没有我不知道的方法?
【问题讨论】:
标签: firebase
我正在使用 Angular.js 和 Firebase 创建一个应用程序,在界面正常工作之前,我计划手动插入数据。虽然添加键:值对很容易,但我无法弄清楚如何构建多层次的数据,比如添加一个内部有多个条目的对象。如果我导入一个 json 文件,它会这样做,但我不想每次我想进行更改时都必须编辑一个 json 文件并上传它。有没有我不知道的方法?
【问题讨论】:
标签: firebase
如果您前往 Firebase Forge(https://[your-firebase].firebaseio.com),您可以为您的 Firebase 加载图形调试器并手动添加、修改或删除数据,并实时观察数据的变化。
要使用 Forge 添加分层数据,请使用 + 按钮创建新的子属性,为其命名并将值留空,然后使用子属性上的 + 按钮开始添加更多子属性或子属性。当您准备好保存数据时,请使用Add 按钮,或点击[Enter]。
【讨论】:
一个能够高效、快速地编辑数据层次结构的界面自然需要预测该层次结构。因此,您不会找到一个预先构建的工具来编辑分层数据而无需繁琐的数据输入。
通常,我会打开第二个浏览器窗口,以管理员权限登录,然后使用浏览器的调试器(例如 Firebug)手动输入对象。我发现这比 JSON 的导入/导出要快很多(而且编写 JSON 实在是太乏味了!)。
一般来说,我更喜欢update 而不是set,因为这意味着我可以只输入更改,而不必写出整个层次结构:
new Firebase(MY_URL).child(PATH).update({
// replace the widgets
widgets: {
one: { color: 'red', shape: 'square' },
two: { color: 'green', shape: 'triangle' }
},
// reset the count
widgetCount: 0,
// delete my status
status: null
});
如果 Forge 工具和通过调试器输入都不适合您,那么您可能会发现编写一个快速而肮脏、丑陋且原始的管理页面是值得的,您可以在其中更改数据并保存数据。
我有几个,每个大约一个小时就完成了,用于我们网站上的频繁管理例程。诀窍是只构建你需要的东西,而不是被它有多酷和棒极了。斯巴达 FTW。
【讨论】:
使用斜杠指定子目录将允许这样做。 (对象/对象:)
【讨论】: