🕌
Bad state:field does not exist within the DocumentSnapshotPlatform
何が起こったのか
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の該当テーブルにそんなフィールド持たせていたのか?
を注意してみると上手くいくことが多いかも。です。
最近個人開発触れていなくてどこにどんなフィールド持たせようとしたのか忘れていてこんなことが起こりました。ちゃんと設計書は明確に記録しておきましょうね。笑
以上になります🙏
Discussion