Javascript Firebase多路径获取数据

Javascript Firebase多路径获取数据,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,目前,Firebase支持平面数据布局的多路径数据更新。但是,在获取数据时,是否可以使用类似的方法从Firebase中的多个位置多路径获取数据 例如,我需要将一些数据连接在一起,我当前的代码如下所示: ref.child('data_1/').once('value', function (snapshot) { var test_string_1 = snapshot.val(); ref.child('data_2/').once('value', function (sn

目前,Firebase支持平面数据布局的多路径数据更新。但是,在获取数据时,是否可以使用类似的方法从Firebase中的多个位置多路径获取数据

例如,我需要将一些数据连接在一起,我当前的代码如下所示:

ref.child('data_1/').once('value', function (snapshot) {
    var test_string_1 = snapshot.val();

    ref.child('data_2/').once('value', function (snapshot) {
        var test_string_2 = snapshot.val();

        //...etc 
    });
});
var test_1 = ref.child('data_1/');
var test_2 = ref.child('data_2/');
Promise.all([
    test_1.once('value'),
    test_2.once('value')
]).then(function(snapshots) {
    var test_string_1 = snapshots[0].val();
    var test_string_2 = snapshots[1].val();
});

当涉及到必须从多个节点获取数据时,这种嵌套方法非常深入。所以我想知道是否有更好更快的方法,比如多路径抓取,从多个位置获取数据

如果路径/参照互不依赖,则可以如下方式检索它们:

ref.child('data_1/').once('value', function (snapshot) {
    var test_string_1 = snapshot.val();

    ref.child('data_2/').once('value', function (snapshot) {
        var test_string_2 = snapshot.val();

        //...etc 
    });
});
var test_1 = ref.child('data_1/');
var test_2 = ref.child('data_2/');
Promise.all([
    test_1.once('value'),
    test_2.once('value')
]).then(function(snapshots) {
    var test_string_1 = snapshots[0].val();
    var test_string_2 = snapshots[1].val();
});
见:


我是否能够动态地将整个路径/引用数组传递给此方法并批量获取它们?我注意到,使用此方法获取1000条记录时,加载时间非常慢,有时所有要加载的数据的加载时间都长达30秒。这正常吗?