コンテンツに移動
データベース

Firestore を使用して合計と平均を計算する

2023年11月16日
Google Cloud Japan Team

※この投稿は米国時間 2023 年 11 月 8 日に、Google Cloud blog に投稿されたものの抄訳です。

Firestore をご利用のお客様は頻繁に、ドキュメントの特定のフィールドで合計または平均を計算します。本日リリースされた SUM() 集計関数と AVG() 集計関数を使用すると、簡単に集計を計算できます。たとえば、SUM() を使用して商品売上の合計収益を計算したり、AVG() を使用して全車両の平均走行距離を計算したりできます。

使用方法

この機能は、集計関数とフィールド名を指定するだけで使用できます。Firestore がインデックス スキャンを介して、直接 SUM() と AVG() の結果を計算します。これは効率的ですが、集計を計算するためにフィールドにインデックスを作成する必要があります。

たとえば、「tripsCollection」というコレクションでタイプが「motorcycle」の車両の合計走行距離を計算するには、以下のクエリを実行します。

lang-py
読み込んでいます...

同様に、平均走行距離も簡単に確認できます。

lang-py
読み込んでいます...

1 つのクエリに複数の集計関数を指定することもできます。たとえば、以下のように走行距離の AVG() と SUM() の両方を 1 つのクエリで計算できます。

lang-py
読み込んでいます...

料金

SUM() 集計クエリと AVG() 集計クエリは、既存の集計クエリの料金に基づいて課金されます。クエリにより照合されたインデックス エントリ(1,000 個まで)のバッチごとに 1 回のドキュメントの読み取りとして課金されます。照合するインデックス エントリが 0 個の集計クエリでも、1 回のドキュメントの読み取りの最低料金が発生します。

次のステップ

今すぐ SUM() 集計と AVG() 集計の使用を開始するには、Firestore のネイティブ モードFirestore の Datastore モードの集計クエリに関するドキュメントをご覧ください。

このブログ投稿の執筆に際し、Firestore プロダクト マネージャーの Chaitra Ramarao と Firestore シニア プロダクト マネージャー リードの Minh Nguyen の協力に感謝します。

-ソフトウェア エンジニア Han Weng

-ソフトウェア エンジニア Matthew Tang

投稿先