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の登場によって、以前の実装とはガラッと変わってしまいましたが、慣れるとシンプルな構造の実装となり便利です。
0 件のコメント:
コメントを投稿