여씨의 개발이야기
[입문] firestore document의 하위 collection 가져오는 방법 본문
토이 프로젝트에서 firestore를 사용하다 당황스러운 일이 발생했다. 바로 firestore의 document 하위 collection을 가져오는 함수인 listCollections()가 제공되지 않는다는 것이다.
이리저리 머리를 굴려보며 get을 해와도 잘 가져오지 못 하는데 생각보다 간단한 방법으로 가져올 수 있었다.
예를 들어 위와 같은 구조의 DB가 있다고 하자.
그럼 보통 제일 상위 컬렉션인 greetings를 가져올 때에는 아래와 같이 query(collection(database, "컬렉션이름"))...... doc.data()로 데이터를 가져올 수 있다.
const database = getFirestore(firebase); //정보가 올바르면 아래 파이어스토어 접근
const q = query(collection(database, "greetings"))
getDocs(q).then((querySnapshot) => {
querySnapshot.forEach((doc) => {
setCard(cards => [...cards, doc.data()])
})
})
그럼 test라는 하위 컬렉션을 가져오려면? 매우 간단하다. 아래와 같이 하위 컬렉션의 경로를 넣어주면 된다.
const database = getFirestore(firebase); //정보가 올바르면 아래 파이어스토어 접근
const q = query(collection(database, "greetings/하위문서/test"))
getDocs(q).then((querySnapshot) => {
querySnapshot.forEach((doc) => {
setCard(cards => [...cards, doc.data()])
})
})
'🔥 Firebase' 카테고리의 다른 글
[배포] firebase app 배포 시 Page Not Found가 뜨는 현상 (0) | 2022.01.26 |
---|---|
[입문] firestore 기본 구조 분석 (0) | 2022.01.09 |
[입문] window 환경에서 firebase 설치 및 초기 세팅, github을 이용해서 react 웹프로젝트를 배포하는 법 (0) | 2021.12.28 |
[입문] Firebase란? (0) | 2021.12.27 |
Comments