2つのオブジェクトに少なくとも1つの共通の子があるかどうかを確認しようとしています。次の例では、人々がorg.money.valueを読むことができる場合、制御できるようにしたいと考えています。Firebaseリアルタイムデータベース - ルール - 2つのオブジェクトに共通の子が少なくとも1つありますか?
読み込み権は、org.keysの子とユーザーの{auth.uid} .keysを比較することによって決まります。共通鍵がある場合は、読み取りが許可されます。
データベースJSON:
{
"org" : {
"keys" : {
"red" : {
"value" : "..."
},
"blue" : {
"value" : "..."
}
},
"money" : {
"value" : "..."
}
},
"users" : {
"John" : { // in reality John == auth.uid of a user
"keys" : {
"red" : {
"value" : "..."
}
}
},
"Alice" : { // in reality Alice == auth.uid of a user
"keys" : {
"green" : {
"value" : "..."
}
}
}
}
}
ルール:
"rules:"{
"org" : {
"money" : {
// can read if "org.keys" and "users.auth.uid.keys"
// have at least one common child name.
// With the above data reading would be allowed for John,
// but not for Alice.
".read" : what to write here?
}
}
}
それがこの作品を作ることは可能ですか?
ちなみに、組織はユーザーのauth.uidを認識していません。