Firebase 9 Firestore getDoc()을 사용하여 ID로 문서 가져오기
샘플 Firestore 데이터베이스에는 아래 스크린샷과 같이 4개의 문서가 포함된 도시 컬렉션이 있습니다.
도시 컬렉션의 첫 번째 문서를 ID로 가져오겠습니다.
이 경우: 해당 ID(2l3bcSGs2vZBIc3RODwp)를 사용하는 Edmonton 문서
Firestore 데이터베이스를 가져오고 필요한 세 가지 방법을 해체합니다.
getFirestore() → Firestore 데이터베이스
doc() → 데이터베이스 참조, 컬렉션 이름 및 문서 ID를 인수로 사용합니다.
getDoc() → getDoc() 쿼리는 doc() 메서드에서 언급한 컬렉션 기반 참조에서 특정 문서의 데이터를 가져옵니다.
import { getFirestore, doc, getDoc } from https://www.gstatic.com/firebasejs/9.8.4/firebase-firestore.js";
The import statement uses the CDN version of the Firebase SDK in this example.
Firestore 데이터베이스 초기화:
const db = getFirestore();
getDoc() 메서드는 doc() 메서드인 단일 인수를 사용합니다.
doc() 메서드의 세 가지 인수는 다음과 같습니다.
doc() 메서드를 호출하고 세 개의 인수를 전달한 다음 docRef(문서 참조의 약식)라는 상수에 할당합니다.
const docRef = doc(db, "cities", "2l3bcSGs2vZBIc3RODwp");
docRef를 인수로 전달하는 getDoc() 메서드를 호출합니다.
getDoc() 메서드는 약속을 반환하고 그 앞에 await 키워드를 추가합니다.
docSnap(문서 스냅샷의 약식)이라는 상수에 할당합니다.
const docSnap = await getDoc(docRef);
실제 문서 데이터를 얻으려면 docSnap 개체에서 data() 메서드를 호출합니다.
docSnap.data();
클라이언트 측 오류가 있는 경우 이를 처리하기 위해 try catch 블록으로 비동기 쿼리를 래핑합니다.
try {
const docSnap = await getDoc(docRef);
console.log(docSnap.data());
} catch(error) {
console.log(error)
}
사용하기 전에 대상 문서가 실제로 존재하는지 확인하십시오.
try {
const docSnap = await getDoc(docRef);
if(docSnap.exists()) {
console.log(docSnap.data());
} else {
console.log("Document does not exist")
}
} catch(error) {
console.log(error)
}
Reference
이 문제에 관하여(Firebase 9 Firestore getDoc()을 사용하여 ID로 문서 가져오기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/hirajatamil/firebase-9-firestore-get-a-document-by-id-using-getdoc-3j4f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)