작성
·
14
0
16:09
//변환해서 가져오기
List<CommentModel> commentModel = await Future.wait(snapshot.docs.map(
(e) async {
Map<String, dynamic> data = e.data();
logger.d(data);
DocumentReference<Map<String, dynamic>> writerDocRef = data['writer'];
logger.d(writerDocRef);
데이터를 가져오질 못해서 콘솔에 찍어봤습니다
logger.d(data); 잘 찍고 있으나
logger.d(writerDocRef); 이거는 못찍고 있어요
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. vadain2000님.
현재 콘솔에 writerDocRef
데이터가 표시되지 않는 문제는 DocumentReference
를 사용하는 과정에서 발생할 수 있는 일반적인 상황입니다. 이 문제의 원인과 해결책에 대해 설명드리겠습니다.
데이터 타입: data['writer']
가 DocumentReference
로 예상되지만, 실질적으로 올바르게 변환되지 않은 경우일 수 있습니다. 이는 데이터 구조나 Firestore에서의 데이터 형태에 따라 달라질 수 있습니다.
Null 값: Firestore에서 writer
필드가 없거나 null일 경우에도 logger.d(writerDocRef)
가 찍히지 않을 수 있습니다.
writer
필드가 존재하는지, 올바른 DocumentReference 형태인지 확인해보세요.Map<String, dynamic> data = e.data();
if (data.containsKey('writer')) {
DocumentReference<Map<String, dynamic>> writerDocRef = data['writer'];
logger.d(writerDocRef);
} else {
logger.e("Writer field does not exist in document data");
}
이 접근 방식을 통해 writer
필드가 올바르게 존재하고 있는지 검증할 수 있으며, 문제를 보다 명확하게 파악할 수 있을 것입니다.
아래의 유사한 질문을 참고하시면 도움이 될 수 있습니다:
- Firebase StreamBuilder 사용은 왜 안 하나요? - 콘솔 로그 및 데이터 핸들링에 대한 추가적인 팁을 확인할 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.