0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Firestore 入門】Node.js + firebase-admin で CRUD / クエリを実装する

Last updated at Posted at 2025-09-19

はじめに

Firebase Firestore は Google が提供する NoSQL データベースです。
Node.js サーバーから Firestore を使う場合は firebase-admin SDK を利用します。

本記事では、以下の基本操作を網羅的に紹介します。

  • 初期化
  • ドキュメントの作成 (add / set)
  • ドキュメントの更新 (update)
  • ドキュメントの取得 (get)
  • 条件検索 (where)
  • ドキュメントの削除 (delete)

⚠️ 注意: firebase-admin にはフロントエンド SDK のような onSnapshot(リアルタイムリスナー)機能はありません。リアルタイム更新が必要な場合はフロントエンド側で Web SDK を利用してください。

環境準備

npm install firebase-admin
  • Firebase コンソール → プロジェクトの設定 → サービスアカウント
  • 「新しい秘密鍵を生成」から JSON をダウンロード
  • プロジェクト直下に配置 (例: serviceAccountKey.json)
firebase.js
import admin from "firebase-admin";
import serviceAccount from "./serviceAccountKey.json" assert { type: "json" };

admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
});

export const db = admin.firestore();

1. ドキュメントの作成 (add / set)

自動 ID を振る場合 (add)

const docRef = await db.collection("users").add({
  name: "Alice",
  age: 25,
});
console.log("Document ID:", docRef.id);

ID を指定する場合 (set)

await db.collection("users").doc("user1").set({
  name: "Bob",
  age: 30,
});

2. ドキュメントの更新 (update)

既存フィールドのみを更新します。

await db.collection("users").doc("user1").update({
  age: 31,
});

3. ドキュメントの取得 (get)

単一ドキュメント

const doc = await db.collection("users").doc("user1").get();

if (doc.exists) {
  console.log("Data:", doc.data());
} else {
  console.log("No such document!");
}

コレクション全体

const snapshot = await db.collection("users").get();

snapshot.forEach((doc) => {
  console.log(doc.id, " => ", doc.data());
});

4. 条件検索 (where)

複数条件のクエリも組み合わせ可能です。

const snapshot = await db
  .collection("users")
  .where("age", ">=", 20)
  .where("age", "<=", 30)
  .get();

snapshot.forEach((doc) => {
  console.log(doc.id, " => ", doc.data());
});

5. ドキュメントの削除 (delete)

await db.collection("users").doc("user1").delete();

まとめ

Node.js サーバーから Firestore を操作する際は、firebase-admin を利用します。
基本操作は以下の通りです。

  • 作成: add(自動 ID)、set(手動 ID)
  • 更新: update
  • 取得: get(単一 or コレクション)
  • 検索: where
  • 削除: delete

バックエンドで Firestore を扱うときは、認証やセキュリティルールを考慮せずに操作できるため、管理ツールや API サーバー側での利用に便利です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?