まず、アレイ内のユーザーのIDを検索、私のひどい英語のため申し訳ありませんが、それは私の母国語ではありません...Firestoreセキュリティルール:ドキュメント
私はFirestoreを使用して、Firebaseでシンプルなアプリを構築していますデータベース。私のアプリでは、ユーザーは小グループのメンバーです。彼らは他のユーザーのデータにアクセスできます。 あまりにも多くのドキュメント(グループのドキュメントのサブコレクション内のユーザーあたり1つ)を照会しないために、ユーザーのデータをグループのドキュメント内の配列に追加することを選択しました。ここ は、私のグループのドキュメントです:
{
"name":"fefefefe",
"days":[false,false,false,false,true],
"members":[
{"email":"[email protected]","id":"aaaaaaaa","name":"Mavireck"},
{"email":"[email protected]","id":"bbbbbbbb","name":"Mavireck2"},
],
}
ユーザーがグループ内にある場合、私はセキュリティルールに確認できますか? 代わりにオブジェクトを使用する必要がありますか? フリークォータの制限に達しすぎるので、私は本当にユーザーのサブコレクションを使用したくないです...
ありがとうございます!
編集: お返事ありがとうございます。 Iオブジェクトに変更されます。 "メンバー":{UID1:{}、UID2:{}}
ありがとうございましたが、私はそれを動作させることはできません...私は私のデータベースが正しいことをかなり確信している:私はより多くのユーザーにオブジェクトを含む、グループのドキュメント内のオブジェクト「メンバー」を持っています情報。 : 'members = {uid1:{}、uid2:{}}'。しかし、 'allow read:if resource.data.members [request.auth.uid]!= null;'を使うと動作しません。また、私は 'resource.data.members [request.auth.uid] .name!= null;'と 'resource.data.members [(request.auth.uid)]!= null;'を試しました。 – Mavireck
私は単純でした{console.log( "not null})' ...これは常にログに記録されます。 nullではありません " – Mavireck
私は編集できませんので、ここで最後のコメントです:' 'allow read:if resource.data.membres [(request.auth.uid)]!= null; resource.data.membres!= null; 'はそうです。 – Mavireck