目前,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
});
});
当必须从多个节点获取数据时,这种嵌套方法非常深入。所以我想知道是否有更好更快的方法,如多路径提取,从多个位置获取数据。
答案 0 :(得分:5)
如果路径/引用不相互依赖,您可以像这样检索它们:
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();
});
请参阅: