如何正确设置Firebase实时数据库以避免数组开头出现空值?
我是NoSQL数据库的新手。目前我正在尝试使用Firebase并将其与iOS集成。当涉及到预定义数据库时,通过反复试验,我尝试使其看起来像这样:如何正确设置Firebase实时数据库以避免数组开头出现空值?,firebase,firebase-storage,Firebase,Firebase Storage,我是NoSQL数据库的新手。目前我正在尝试使用Firebase并将其与iOS集成。当涉及到预定义数据库时,通过反复试验,我尝试使其看起来像这样: [ <null>, { comments: [ <null>, 1, 2, 3 ], desc: "Blue versus red in a classic battle
[
<null>,
{
comments: [
<null>,
1,
2,
3
],
desc: "Blue versus red in a classic battle of good versus evil and right versus wrong.",
duration: 30,
rating: 4.42,
tags: [
<null>,
"fantasy",
"scifi"
title: "The Order of the Midnight Sun",
writer: 1
]
}
]
当我尝试在iOS中检索“故事”路径时,我得到如下json结构:
[
<null>,
{
comments: [
<null>,
1,
2,
3
],
desc: "Blue versus red in a classic battle of good versus evil and right versus wrong.",
duration: 30,
rating: 4.42,
tags: [
<null>,
"fantasy",
"scifi"
title: "The Order of the Midnight Sun",
writer: 1
]
}
]
[
,
{
评论:[
,
1.
2.
3.
],
描述:“在一场经典的善恶对错之战中,蓝色对红色。”,
持续时间:30,
评级:4.42,
标签:[
,
“幻想”,
“科幻”
标题:“午夜太阳的秩序”,
作者:1
]
}
]
我的问题是,为什么每个数组的开头总是有一个null?如何在数据库编辑器中避免空值?看起来您开始将数据推送到索引1而不是0,在列表中插入/检索数据从索引0开始:
看起来您开始将数据推送到索引1而不是索引0,在列表中插入/检索数据从索引0开始:
哦,好吧,我不认为这个数字有任何意义。我只是“强迫”把任何东西放在键上,所以我只放(随机)数字,在这个例子中,一系列数字从1开始。谢谢@陈立勇总的来说,在NoSQL数据库中应该避免使用数组。它们不可查询,也不可编辑,如果您想更改已读取的内容,然后重新写入整个数组。还有更好的选择。请看这篇Firebase文章,还有一些附加信息。哦,好吧,我认为这个数字根本没有任何意义。我只是“强迫”把任何东西放在键上,所以我只放(随机)数字,在这个例子中,一系列数字从1开始。谢谢@陈立勇总的来说,在NoSQL数据库中应该避免使用数组。它们不可查询,也不可编辑,如果您想更改已读取的内容,然后重新写入整个数组。还有更好的选择。请看这篇Firebase文章,并附上一些附加信息。