Javascript Firebase如何在用户';s数据
鉴于上述代码模型,如何在查询中动态搜索Javascript Firebase如何在用户';s数据,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,鉴于上述代码模型,如何在查询中动态搜索push_key_1或push_key_2 我试着做: { "foo":{ "uid":{ // user's uid "push_key_1":{ "bar":"baz" }, "push_key_2":{ "bar":"baz" } } } } 但是s
push_key_1
或push_key_2
我试着做:
{
"foo":{
"uid":{ // user's uid
"push_key_1":{
"bar":"baz"
},
"push_key_2":{
"bar":"baz"
}
}
}
}
但是
snap.val()
是null
。原来,orderByKey()
仅用于排序目的。有没有办法做到这一点 这比你正在尝试的要简单得多。如果知道要加载的节点的键,则根本不需要查询:
var searKey = 'push_key_1';
db.ref('foo').orderByKey().equalTo(searKey).once('value')
.then(function(snap){
// snap.val() returns null.
}).catch();
我认为这是不可能的,除非你重组数据库。我的方法是添加另一个节点来存储按键
db.ref('foo').child(searKey).once('value'....
有了它,您可以通过从此节点检索数据来获取uid。
希望这有帮助:)但是
foo
的孩子是uid
对吗?它会绕过其父级吗?这将返回null
::请放心。
"users_push_keys": {
"push_key_1": "uid_1",
"push_key_2": "uid_1"
}