Firebase 数据库()。ref()不存在路径
2018-07-25
1248
在 firebase 中,我的应用将始终创建嵌套数据。我的问题是,我是否必须先检查某个键是否存在,然后才能引用它,或者我是否可以只...
const ref = firebase.database().ref("dataTree/" + childVar1 + "/" + childVar2);
ref.push({data: "this is data"});
它会为我创建嵌套结构吗?即:
{
"dataTree": {
"notChildVar1": {
"someChildName": {
"data": "test"
}
}
"alsoNotChildVar1": {
"someChildName": {
"data": "test"
}
}
}
}
应该变成...
{
"dataTree": {
"notChildVar1": {
"someChildName": {
"data": "test"
}
}
"alsoNotChildVar1": {
"someChildName": {
"data": "test"
}
}
"childVar1": {
"childVar2": {
"data": "test"
}
}
}
}
如果上述代码将返回错误,我该怎么做才能测试某个键是否存在,如果不存在则添加它,然后在其中推送某些内容?
2个回答
也许您可以尝试创建
childVar1
的完整内容并直接插入到您的数据库中,包括
childVar2: {data: test
(我认为您正在使用 RealtimeDatabase)。
const ref = firebase.database().ref("dataTree/" + childVar1);
ref.push(
"childVar2": {
"data": "this is data"
}
);
scobr
2018-07-25
您可以写入数据库中的任意位置,并且会自动为您创建任何不存在的所需节点。您不必单独创建每个子节点。
同样,如果删除了节点的所有子节点,则节点本身也会被自动删除(不存在“空”子节点)。
Doug Stevenson
2018-07-25