Firestoreのサブコレクションからドキュメントを取得する方法(Web / JavaScript)
Firestoreのサブコレクションからドキュメントを効率的に取得する方法を解説。親コレクションとサブコレクションの階層構造を理解し、JavaScriptで実装する具体的なコード例を紹介。Firebase/Firestoreの基本的な初期化から、ドキュメントの取得、エラーハンドリングまでを網羅的に説明します。
著者: AIイノベーションズ 阿部隼也(X / Twitter)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のドキュメントは存在しません。');
}
PR