Firebase V9 SDKを使用してサブコレクション内のドキュメントを更新する方法

2024年4月12日金曜日

Firebase javascript

t f B! P L

FirebaseのCloud Firestoreは、クラウドベースのNoSQLデータベースです。今回は、Firebase V9 SDKを用いて、サブコレクション内の特定のドキュメントIDに基づいてデータを更新する方法を紹介します。

前提条件

このチュートリアルを開始する前に、以下の準備が必要です:

  • Firebase プロジェクトが設定されていること。
  • Firebase V9 SDKがプロジェクトにインストールされていること。
  • Firestore データベースが初期化されていること。

ステップ 1: Firebase の初期化

まず、Firebase を初期化して Firestore サービスを有効にします。

import { initializeApp } from "firebase/app";
import { getFirestore } from "firebase/firestore";

const firebaseConfig = {
  // ここにあなたのFirebaseプロジェクトの設定を入力してください
};

const app = initializeApp(firebaseConfig);
const db = getFirestore(app);

ステップ 2: ドキュメントの更新

サブコレクション内の特定のドキュメントIDを指定して更新を行います。以下の例では、usersコレクションの中の特定ユーザ(userId)のordersサブコレクション内にある特定のオーダー(orderId)を更新します。

import { doc, updateDoc } from "firebase/firestore";

const updateOrder = async (userId, orderId, updatedData) => {
  const orderDocRef = doc(db, "users", userId, "orders", orderId);
  await updateDoc(orderDocRef, updatedData);
};

updateOrder("user123", "order456", { status: "shipped" })
  .then(() => console.log("Document successfully updated!"))
  .catch((error) => console.error("Error updating document: ", error));

注意点

  • データを更新する際には、必ず存在するドキュメントのIDを指定してください。
  • updateDoc関数は、指定されたフィールドのみを更新し、残りのドキュメントはそのままにします。

まとめ

モジュール型のV9 SDKの登場によって、以前の実装とはガラッと変わってしまいましたが、慣れるとシンプルな構造の実装となり便利です。

スポンサーリンク
スポンサーリンク

このブログを検索

Profile

自分の写真
Webアプリエンジニア。 日々新しい技術を追い求めてブログでアウトプットしています。
プロフィール画像は、猫村ゆゆこ様に書いてもらいました。

仕事募集もしていたり、していなかったり。

QooQ