我在下面的Firebase中有这个json数据结构。我需要创建一个新的子项,但我想先检查它是否存在。所以基本上我需要在推送新项目之前检查~/parentKey11/childKey21
是否存在(在项目数组中)。
"nodeA": [
{
"parentKey11": {
"childKey21": {
"items": [
{
...
},
{
...
},
{
...
}
]
},
"childKey22": {
"items": [
{
...
},
{
...
},
{
...
}]
}
}
]
为了简单起见。我可以先检查父键。但是下面的代码似乎不起作用:
const parentRef = this.af.database.object(`/nodeA/parentKey11`, { preserveSnapshot: true });
parentRef.subscribe(data => {
if(data == null) {
console.log('data does not exists')
} else {
console.log('data exists');
console.log(data);
}
});
答案 0 :(得分:0)
此解决方案适用于我:
const parentRef = this.af.database.object(`/nodeA/parentKey11`, { preserveSnapshot: true });
parentRef.subscribe(data => {
if(data.val()==null) {
console.log('data does not exists')
} else {
console.log('data exists');
}
});
const parentChildRef = this.af.database.object(`/nodeA/parentKey11/childKey21`, { preserveSnapshot: true });
parentChildRef.subscribe(data => {
if(data.val()==null) {
console.log('data does not exists')
} else {
console.log('data exists');
}
});