所以我有一个Firebase,其中包含所有属于不同供应商的对象列表。我使用以下规则禁止访问这些位置:
{
"rules": {
"purchases": {
".indexOn": "code",
"$purchaseId": {
".read": "root.child('vendors').child(data.child('vendor').val()).child('id').val() == auth.uid",
".write": "root.child('vendors').child(data.child('vendor').val()).child('id').val() == auth.uid"
}
}
}
此规则在模拟器中按预期工作。
我现在想要作为登录供应商对购买进行查询以仅检索我的购买。 如果我有完全的管理员访问权限(即来自基于令牌的身份验证登录),但查询本身工作正常,但无法通过供应商(电子邮件/密码)登录工作。
这不可能吗?
我只想退回授权登录的所有商品。
我的查询就像这样
var ref = new Firebase("https://example.firebaseio.com");
var query = ref.orderByChild("vendor").equalTo(vendorId);
query.on("child_added", function(purchases) {
console.log(purchases.val());
});
有没有其他方法可以在不重构我的Firebase的情况下实现这一目标?