Closed TYMtwilight closed 1 year ago
「事業主」「職種」「住所」のデータはFIrestoreのoptionコレクションのドキュメントのフィールドに格納されているため、これらの値が登録されないのは、optionコレクションのセキュリティルールに関係してくると予想。 optionコレクションのセキュリティルールは以下のとおりとなっており、ルールの記述自体におかしなところはありませんでした。
// optionコレクション match /option/{userId}{ allow read: if request.auth != null; allow update, delete: if request.auth != null && request.auth.uid == request.resource.data.uid; allow create: if request.auth != null; }
つぎにFiresotoreのoptionコレクションを参照したところ、以下のとおり、エラーが起きているユーザーのドキュメントには「uid」フィールドが登録されていない事実が判明しました。
したがって、今回のエラーはコードの内容の不備によるものではなく、Firestoreのドキュメントの欠陥によるものだと思われます。
「minami_farm」のアカウントでログイン
プロフィール編集画面に移動
「事業主」「職種」「住所」の情報を入力し、「登録する」ボタンをクリック
プロフィール表示画面に、3の工程で登録した情報が表示されることを確認
The latest updates on your projects. Learn more about Vercel for Git ↗︎
🔎分析結果
「事業主」「職種」「住所」のデータはFIrestoreのoptionコレクションのドキュメントのフィールドに格納されているため、これらの値が登録されないのは、optionコレクションのセキュリティルールに関係してくると予想。 optionコレクションのセキュリティルールは以下のとおりとなっており、ルールの記述自体におかしなところはありませんでした。
つぎにFiresotoreのoptionコレクションを参照したところ、以下のとおり、エラーが起きているユーザーのドキュメントには「uid」フィールドが登録されていない事実が判明しました。
したがって、今回のエラーはコードの内容の不備によるものではなく、Firestoreのドキュメントの欠陥によるものだと思われます。
動作の確認
「minami_farm」のアカウントでログイン
プロフィール編集画面に移動
「事業主」「職種」「住所」の情報を入力し、「登録する」ボタンをクリック
プロフィール表示画面に、3の工程で登録した情報が表示されることを確認