🕌

Bad state:field does not exist within the DocumentSnapshotPlatform

2023/03/10に公開

何が起こったのか

Firebaseでのエラー「Bad state: field does not exist within the DocumentSnapshotPlatform」とは、
🚨「DocumentSnapshotの中の情報のなかにそんなフィールド(firestoreのコレクションが持つ属性)は含まれてないでっせ。」🚨と言われていること。

失敗例

main.dart
child: FutureBuilder<QuerySnapshot>(
              future: QuestionFireStore.questions.get();,
              //questionsコレクションには"user_id"なんてフィールドは作らなかったのに
              //下の方では
              SizedBox(
                    width: double.infinity,
                    height: 50,
                    child: Center(child: Text("${snapshot.data!.docs[index].get("user_id")}さんの、${snapshot.data!.docs[index].get("question_id")}です"))),
                    //的なことでuser_idを取り出そうとしていたことがまずい

最後に

簡単なミスですが「field」や「DocumentSnapshotPlatform」が何ちゃら、、、と言われた時には

  • FutureBuilderのfutureで取ってきたデータ
  • 実際Firestoreの該当テーブルにそんなフィールド持たせていたのか?

を注意してみると上手くいくことが多いかも。です。


最近個人開発触れていなくてどこにどんなフィールド持たせようとしたのか忘れていてこんなことが起こりました。ちゃんと設計書は明確に記録しておきましょうね。笑
以上になります🙏

GitHubで編集を提案

Discussion