如何在Firebase中循环浏览所有子节点并在Javascript中读取其中的所有数据节点?

时间:2018-07-16 03:59:06

标签: javascript database firebase firebase-realtime-database firebase-security-rules

我有一个系统,其中每个用户都有权读取一个或多个特定节点(但不是全部)。我将如何设置,以便在读取时可以遍历数据库中的所有子节点,随后它将仅读取用户有权访问的那些子节点?

非常感谢!

这是我目前必须要做的: (有两家以上的商店)

var database = firebase.database();
var storeOneRef = database.ref().child('storeOne');
var storeTwoRef = database.ref().child('storeTwo');

var allStores = [ { ref: storeOneRef, name: 'storeOne'},
                    { ref: storeTwoRef, name: 'storeTwo'} ];
for (var i = 0; i < allStores.length; i++) {
    allStores[i].ref.once('value', (snapshot) => {
        var data = snapshot.val();
    });
}

这是数据库的外观: database screenshot

1 个答案:

答案 0 :(得分:0)

看起来您的数据库在其所属的商店/零售节点下具有所有销售节点。如果您的商店/零售商之一已经具有对自己节点的读取访问权限,则他们将无条件访问其所有销售。实际上,您无能为力。如果某人在任何节点上都具有读访问权限,那么他们暗中拥有对该节点下所有子节点的读访问权限。