2
2

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 サブコレクションのドキュメント数をカウントする方法

Last updated at Posted at 2022-01-06

Firestoreを利用していて、コレクションの数を取得する機会が何回かあったのでメモとして記録しておきます。

必要なものをインポートする

まだFirestoreのセットアップができていない方は、セットアップの方法の記事もあげているので是非ご覧ください。
Firebaseを使い始めるために必要な手順

sample
import firebase from "firebase/compat";
const db = firebase.firestore();

Firestoreのコレクションのドキュメント数を取得してみる

例えば、usersコレクション>userIDドキュメント>ordersコレクションという階層になっているコレクションから、
あるユーザーの注文回数を取得したい場合は下記にようにすれば取得することができます。

sample
async getOrderCount(): Promise<void> {
    let orderCount = 0;
    await db
      .collection("users")
      .doc("userID")
      .collection("orders")
      .get()
      .then((snap) => {
        orderCount = snap.size;
      });
}

同じ方法でサブコレクションのドキュメント数を取得することもできる

usersコレクション>userIDドキュメント>ordersコレクション>orderIDドキュメント>orderItemコレクションという階層になっているコレクションで、あるユーザーのある注文の注文商品個数を取得したいときは以下のようにすれば取得することができます。

sample
async getOrderItemCount(): Promise<void> {
     let orderItemCount = 0;
      await db
        .collection("users")
        .doc("userID")
        .collection("orders")
        .doc("orderID")
        .collection("orderItem")
        .get()
        .then((snap) => {
          orderItemCount = snap.size;
        });
}
2
2
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
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?