작성
·
141
0
firestore에서 subcollection을 삭제하는 함수를 지원하지 않아서
subcollection안의 모든 doc을 삭제하는걸로 대체하려고 하는데
모든 doc을 삭제하려면 또 doc들의 ID가 필요합니다.
doc들의 ID 없이도 특정 컬랙션 안의 doc들을 모두 삭제할 수 있는 방법이 있을까요?
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
Wakgood님, Firestore에서는 직접적으로 subcollection을 한 번에 삭제하는 기능을 지원하지 않습니다. 말씀하신 대로, subcollection 내의 모든 문서(documents)를 삭제하기 위해서는 각 문서의 ID를 알아내는 과정이 필요합니다. 하지만, 문서들의 ID 없이 특정 컬렉션 내의 문서들을 모두 삭제하는 공식적인 방법은 Firestore API에는 존재하지 않습니다.
일반적으로 문서들을 삭제하기 위해서는 해당 컬렉션 내의 모든 문서를 조회하여 각 문서의 ID를 얻은 후, 각 ID에 대해 삭제 작업을 수행해야 합니다. 이 작업은 클라이언트 측 라이브러리 또는 Firebase Admin SDK를 이용하여 서버 측에서 수행할 수 있습니다.
Firestore에는 대량의 문서를 삭제할 때 사용할 수 있는 방법 중 하나로 Firebase Console, Firebase CLI, 또는 Google Cloud Platform의 GCP 콘솔을 사용하는 방법이 있습니다만, 이 경우에도 내부적으로는 문서의 ID를 통해 개별적으로 삭제 작업을 수행합니다. 또한, 안전을 위해 프로그래매틱하게 대량 삭제를 진행할 때는 반드시 적절한 안전 조처를 마련해야 합니다(예를 들어, 잘못된 데이터 삭제 방지를 위해 백업 수행).
Firestore의 사용법과 관련된 더 자세한 정보가 필요하다면, Firestore의 공식 문서를 참조하시는 것을 추천드립니다.