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"
}