【发布时间】:2017-05-16 12:17:03
【问题描述】:
我有一个包含数组的大型 JSON 文件。我正在为我的应用程序的后端使用 Firebase,并且我想使用 FirebaseArray 来存储数据。
从我的 Angular 应用程序创建一个 FirebaseArray 并向其中添加数据很简单,但我的应用程序的本质是我已经获取了需要首先以某种方式导入 Firebase 的数据。
在 Firebase 网站上,唯一的导入选项是从 JSON。当我导入我的 JSON 文件时,结果是一个带有数字键的对象,我意识到它就像一个数组,但有一个主要问题。
{
"posts": {
"0": {
"id": "iyo0iw",
"title": "pro patria mori"
},
"1": {
"id": "k120iw",
"title": "an english title"
},
"2": {
"id": "p6124w",
"title": "enim pablo espa"
}
}
}
用户可以更改物品的位置,物品的位置也是唯一标识物品的方式。对于多个用户,这意味着可能会出现以下问题。
- 莎拉:将帖子[0] 标题更改为“大家好”
- Trevor:将 post[1] 位置与 post[2] 交换
- Sarah:将帖子[1] 标题更改为“这是索引 1 处的帖子,对吧?”
如果在短时间内发生以下操作,Firebase 无法确定 Sarah 在更改标题时看到的帖子[1],也无法确定要更新哪个帖子对象。
我想要的是一种导入我的 JSON 文件并使数组变为 FirebaseArrays 的方法,而不是带有数字键的对象,它们类似于数组并共享上述问题。
【问题讨论】:
标签: angularjs arrays json firebase firebase-realtime-database