我有一个包含数组的大型JSON文件。我为我的应用的后端使用Firebase,并且我想使用FirebaseArray来存储数据。如何将我的JSON数组作为FirebaseArray导入到Firebase中?
从我的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]标题为 “大家好”
- 特雷弗:交换信息[1]后[2]
- 莎拉位置:更改后[1]标题为“这是在索引1右后?“
如果以下行为发生在很短的时间内,Firebase并不确定Sarah在更改标题时看到的帖子[1],并且无法确定哪些帖子对象更新。
我想要的是一种导入我的JSON文件并使数组变成FirebaseArrays的方法,而不是带有数字键的对象,它与数组类似,并且共享上述问题。
是的,我知道这是一个阵列技术,但我的问题专门询问FirebaseArray的,这是具有独一无二的特殊对象身份证的关键。因为多人可能会改变一天(并且可以改变项目的位置),所以对于我的应用来说,数组是一个坏主意。在此处阅读更多信息:https://firebase.googleblog.com/2014/04/best-practices-arrays-in-firebase.html –
我已更新问题以使其更清晰。 –
这听起来像你只需要在每个职位中的另一个领域,它决定了相对于'职位'下的其他孩子的顺序。您可以使用orderByChild查询该订单。在这种情况下,孩子的索引/键并不重要,因为其他值决定了显示顺序。 –