そのため、すべてが異なるベンダーに属するオブジェクトのリストを含む 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 を再構築せずにこれを達成する別の方法はありますか?