인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

이근삼님의 프로필 이미지
이근삼

작성한 질문수

처음하는 플러터(Flutter) 기초부터 실전까지 [풀스택 Part4] (쉽고 견고하게 단계별로 다양한 프로젝트까지)

Flutter와 Firebase/Firestore 까지 활용한 그럴듯한 서비스 만들어보기6

강의 질문입니다.

작성

·

141

·

수정됨

0

Flutter와 Firebase/Firestore 까지 활용한 그럴듯한 서비스 만들어보기 6까지 실습해봤는데요.

TextButton >> addEntryWithAutoGeneratedId를 통해서

Task를 추가하면 id가 ''로 해서 나오는 것을 Firebase 사이트를 통해서 확인을 했고

UpdateEntryWithId에 의해서 수정을 하게 되면 그때는 id가 등록된 것이 Firebase에서 확인을 했습니다.

Add를 할때는 id가 ''으로 저장되는게 맞나요? 제가 코드를 잘못 따라한건지 궁금합니다.

답변 2

0

이근삼님의 프로필 이미지
이근삼
질문자

제 질문은

추가시에는 문서내부 필드의 ID에 빈문자열이 들어간다는 것이었습니다.

추가시에는 문서의 필드 중 하나인 ID가 ''으로 저장되고

수정시에는 문서의 필드 중 하나인, ''이었던 ID가 자동생성된 ID로 저장됩니다.

 

그래서 추가시에도 문서의 필드 중 하나인 ID에 자동생성된 ID를 넣고 싶은데 잘 안되서 문의드렸습니다.

현재는 bard로 검색해서 해결햇습니다. 감사합니다.

0

안녕하세요. 답변 도우미입니다.

우선은 ID 를 자동으로 보통 생성해주거든요. 관련 설정이 Firebase/Firestore 에서 바꿀 수는 있긴 하지만, 이를 바꾸지 않는다면, 자동 ID 생성이 맞습니다. 그래서 해당 ID 가 '' 이라면 뭔가 비정상동작이긴 하거든요. 이게 어떤 이슈때문에 이렇게 된 것인지 유추하기는 쉽지는 않은데요. 음... 비정상동작은 맞는데, 이게 왜 그런것인지 유추가 어렵네요. 혹시 데이터를 add 할 때, id 값을 직접 넣어주신 것이 아닌지 한번 관련 코드를 검토해보시면 어떠실까요? 직접 넣게 되면, 자동 ID 생성이 안되어서, id 가 '' 와 같이 들어갈 수 있습니다.

이외에 다음 사항도 참고해보시면 좋을 것 같습니다.

  • ID 필드를 직접 설정하는지 확인:

    • 문서를 추가할 때 ID 필드를 직접 설정하고 있지 않은지 확인하세요. Firestore가 자동으로 생성한 ID는 add 메서드가 호출될 때 생성됩니다.

  • Firestore 콘솔 확인:

    • Firestore 콘솔에서 문서의 ID가 빈 문자열('')로 표시되는지, 아니면 문서 내부의 필드에 빈 문자열이 저장되는지 확인합니다. 두 경우가 다릅니다.

    • 문서의 ID는 Firestore가 자동으로 생성하며, 문서의 필드 중 하나로 ID를 저장하고자 한다면 직접 설정해야 합니다.

감사합니다.

 

이근삼님의 프로필 이미지
이근삼

작성한 질문수

질문하기