![](/img/trans.png)
[英]How to push new data into firebase realtime database using cloud functions?
[英]How to retrieve data from realtime database using indexOn in cloud functions
Firebase结构:
{
"config" : [
{
"config1" : {
"hideimage" : true
}
},
{
"config2" : {
"hideimage" : false
}
}
]
}
数据库规则:
"config": {
".indexOn": ["hideimage"]
}
我正在尝试使用以下方法检索所有具有hideimage属性设置为true的配置项:
admin.database().ref('config').orderByChild("hideimage").equalTo(true).once('value', result => {});
预期结果应为:
[{
"config1" : {
"hideimage" : true
}
}]
但我正在获取一个空响应,而没有收到任何错误。
您的数据结构包含两个嵌套级别:
config1
和config2
如果查看Firebase控制台,您会看到此信息,数据将显示如下:
{
"config" : {
"0": {
"config1" : {
"hideimage" : true
}
},
{
"config2" : {
"hideimage" : false
}
}
}
}
Firebase只能查询平面列表中的节点,而不能查询树。 因此,使用您当前的数据结构,它只能在/config/0
下找到具有hideimage=true
的节点, 而不能在所有/config
子项下找到。
由于您已经唯一地命名了config1
和config2
,所以我认为该数组可能是一个错误,并且您确实在寻找:
{
"config": {
"config1" : {
"hideimage" : true
},
"config2" : {
"hideimage" : false
}
}
}
使用此数据结构,您的查询将起作用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.