{
"foo":{
"uid":{ // user's uid
"push_key_1":{
"bar":"baz"
},
"push_key_2":{
"bar":"baz"
}
}
}
}
鉴于上面的代码模型,如何动态搜索查询中的push_key_1
或push_key_2
?
我试过:
var searKey = 'push_key_1';
db.ref('foo').orderByKey().equalTo(searKey).once('value')
.then(function(snap){
// snap.val() returns null.
}).catch();
但snap.val()
是null
。结果orderByKey()
仅用于排序目的。有没有办法实现这个目标?
答案 0 :(得分:0)
它比你尝试的要简单得多。当您知道要加载的节点的密钥时,根本不需要查询:
db.ref('foo').child(searKey).once('value'....
答案 1 :(得分:0)
我认为除非你重组数据库,否则这是不可能的。我的方法是添加另一个节点来存储推送键。
"users_push_keys": {
"push_key_1": "uid_1",
"push_key_2": "uid_1"
}
通过这种方式,您可以通过从此节点检索数据来获取uid。 希望这会有所帮助:)