2
ファイアストア文書 として以下のデータ構造を持っており、各参加者にセキュリティルールを設定したいと考えています。文書内の特定のフィールドを更新するファイアストアセキュリティ
{
event_name: 'XXX',
created_by: 'userid'
participants: {
userid_a: true,
userid_b: true,
userid_c: true,
}
}
参加者は、参加者のユーザーIDを使用してコレクションを照会するための配列のようなデータとして設定されます。 そして、私は次のよう
const eventDoc = this.afs.doc('event/' + event_id);
participant_obj = {}
participant_obj[`participant_obj.${user_id}`] = true;
eventDoc.update(participant_obj)
次に、データを更新しています、私は のみ許可されたユーザーのみが、自分の参加者のステータスに更新できるというセキュリティルールを設定します。
match /event/{eventId} {
match /participant_obj {
allow write: if request.resource.data.keys()[0] == request.auth.uid
}
}
しかしparticipant_obj
がparticipant_obj
がドキュメント内のデータだけで、コレクションの文書やパスのパスではありませんので、それは動作しません。
セキュリティを設定して文書内の特定のフィールドを更新するにはどうすればよいですか?
ありがとうございました。それはよさそうだ! –