Cloud Firestore에서 “Value for argument “data” is not a valid Firestore document” 오류 문제 해결

글제목: 오류 해결 “인수 ‘data’의 값이 유효한 Firestore 문서가 아닙니다” 소개 React 프로젝트에서 Cloud Firestore를 사용하다가 “인수 ‘data’의 값이 유효한 Firestore 문서가 아닙니다. ‘undefined’를 Firestore 값으로 사용할 수 없습니다”라는 오류 메시지를 마주쳤다면, 올바른 곳에 있습니다. …

title_thumbnail(Cloud Firestore에서

글제목: 오류 해결 “인수 ‘data’의 값이 유효한 Firestore 문서가 아닙니다”

소개

React 프로젝트에서 Cloud Firestore를 사용하다가 “인수 ‘data’의 값이 유효한 Firestore 문서가 아닙니다. ‘undefined’를 Firestore 값으로 사용할 수 없습니다”라는 오류 메시지를 마주쳤다면, 올바른 곳에 있습니다. 이 블로그 글에서는 이 오류의 원인에 대해 이야기하고 해결하기 위한 여러 가지 문제 해결 단계를 탐구해 보겠습니다.

오류 이해

이 오류 메시지는 추가하려는 문서의 속성 중 하나가 정의되지 않은 상태인 것을 나타냅니다. 특히, “body” 속성이 문제가 되는 것 같습니다.

문제 해결 단계

단계 1: 요청 데이터 확인

먼저, 요청 본문에 올바른 데이터가 전송되고 있는지 확인하세요. 테스트를 위해 Postman을 사용하는 경우, 메서드를 POST로 설정하고 콘텐츠 유형을 JSON으로 설정해야 합니다. 필요한 속성인 “body”와 “userHandle”이 요청 본문에 올바르게 포함되어 있는지 확인하세요.

단계 2: 함수 디버깅

요청 데이터가 올바른 경우, Cloud 함수 코드를 디버깅해 보세요. 요청 본문이 올바르게 구문 분석되었는지 다시 한 번 확인하세요. 코드 스니펫에서 “req.body.body”와 “req.body.userHandle” 값이 정의되지 않은 상태가 아닌지 확인하세요. 요청 데이터를 검색하는 데 문제가 있는 경우 이를 수정하고 Firestore 문서 생성 프로세스에 올바르게 전달되는지 확인하세요.

단계 3: Firestore 구성 확인

Firestore 인스턴스가 올바르게 초기화되고 연결되어 있는지 확인하세요. Firestore 가져오기, 초기화 또는 구성 설정에 문제가 있는지 확인하세요. 또한 Firestore 컬렉션에 데이터를 쓸 수 있는 필요한 권한을 가지고 있는지 확인하세요.

단계 4: 정의되지 않은 속성 처리

위의 단계 중 어느 하나도 문제를 해결하지 못하는 경우, Firestore 설정을 수정하여 정의되지 않은 속성을 처리할 수 있습니다. “ignoreUndefinedProperties” 옵션을 true로 설정하여 Firestore가 직렬화 중에 정의되지 않은 속성을 건너뛰고 Firestore 문서에 기록되지 않도록 할 수 있습니다. 다음은 이 설정을 활성화하는 예시입니다:


const firestore = admin.firestore();
firestore.settings({ ignoreUndefinedProperties: true });

결론

이 블로그 글에서는 “인수 ‘data’의 값이 유효한 Firestore 문서가 아닙니다”라는 오류 메시지를 살펴보고 이를 해결하기 위한 여러 가지 문제 해결 단계를 논의했습니다. 요청 데이터를 주의 깊게 검토하고, 함수를 디버깅하고, Firestore 구성을 확인하며, 정의되지 않은 속성을 처리함으로써 React 프로젝트에서 Cloud Firestore에 문서를 성공적으로 추가할 수 있습니다. 즐거운 코딩하세요!

참고 자료 : 

reactjs

Leave a Comment