Firestoreでサブコレクションからドキュメント(データ)を取得する方法を紹介します。
【目次】
Firebaseを初期化する
まず、Firebaseの初期化(initialize)をする必要がありますが、
Firebaseの初期化についてのコードは省略します。
サブコレクションからドキュメントを取得する
下記のコードでドキュメントを取得できます。
下記の例では、親コレクションとなる`users`があり、そのサブコレクションとして`posts`がある場合を想定しています。
import { doc, getDoc } from 'firebase/firestore'
const userId = 'user123' // 'user123'というIDのユーザーが1件あるとする
const postId = 'post123' // 'post123'というIDの記事が1件あるとする
// ドキュメントを取得する
let post;
const postDocRef = doc(db, 'users', userId, 'posts', postId);
const postDocSnap = await getDoc(postRef);
if (postDocSnap.exists()) {
// ドキュメントが存在する場合
post = await postDocSnap.data();
} else {
// ドキュメントが存在しない場合
console.error('そのIDのドキュメントは存在しません。');
}