前提
- フィールド
uids
にuid
が含まれている場合、read
を許可する。
※とりあえず、read
にしているけどwrite
とかも同様 - クライアント側(Firestore をリッスンする側は JavaScript の FirebaseSDK を使用する。
- リッスンの条件は 「フィールド
uids
にuid
が含まれている場合」
実装
データ構成
Firestoreのセキュリティルール
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read: if request.auth != null && request.auth.uid in resource.data.uids;
allow write: if request.auth != null;
}
}
}
FirebaseSDKでのクエリ
const hogehogeRef = collection(db, "hogehoge");
const q = query(hogehogeRef, where("uids", "array-contains", "UIDの文字列",),);