AIイノベーションズ

Firestoreのサブコレクションからドキュメントを取得する方法(Web / JavaScript)

Firestoreのサブコレクションからドキュメントを効率的に取得する方法を解説。親コレクションとサブコレクションの階層構造を理解し、JavaScriptで実装する具体的なコード例を紹介。Firebase/Firestoreの基本的な初期化から、ドキュメントの取得、エラーハンドリングまでを網羅的に説明します。

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のドキュメントは存在しません。');
}

On this page