コンテンツに移動
デベロッパー

Cloud コンソールで Firestore にクエリを実行

2022年11月9日
https://storage.googleapis.com/gweb-cloudblog-publish/images/firestore-query-hero.max-2600x2600.png
Google Cloud Japan Team

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

コンソールの Firestore クエリがパワーアップ: このたび主要な機能強化をいくつか追加した新しいクエリビルダーを公開することになりましたので、お知らせします。Firestore SDK のすべての機能(複数の WHERE 句、等式、比較演算子を使用するコレクションやコレクション グループ)を使用してクエリを視覚的に作成できるようになります。データ探索を強化するために、クエリ結果は表形式で表示されるようになります。では、詳しくご紹介していきます。

複数の WHERE 句でクエリを実行

架空の自動車レンタル会社の「顧客」コレクションを例に新しい機能について確認していきます。5,000 ドルを超える金額をレンタルに費やしている米国の顧客を検索してみます。クエリビルダー タブから、次の手順に沿って操作します。

  1. [クエリに追加] をクリックして、WHERE 句を追加します

  2. フィールドに [country] を選択し、フィールドの値に「United States」を入力します

  3. 2 つ目の WHERE 句を追加します

  4. フィールドは [lifetime_value]、演算子は [>]、データ型は [number]、値は「5000」と設定します

  5. [実行] をクリックします

表にクエリ結果が表示され、内容の変更に応じて最新の状態に保たれます。実行した各クエリは閲覧履歴に追加されます。これにより、作業の移動、ブックマーク、共有がしやすくなります。

https://storage.googleapis.com/gweb-cloudblog-publish/images/firestore-query-01.max-2200x2200.png

顧客のうち米国の上位 5 社を表示するにはどうすればよいでしょうか。

  1. 2 つ目の [WHERE] 句を [ORDER BY] 句に変更します

  2. フィールドに [lifetime_value]、順序に [descending] を選択します

  3. [クエリに追加] をクリックして、値が「5」の [LIMIT] 句を追加します

  4. [実行] をクリックします

これで顧客のうち米国で最も支払金額が高い上位 5 社が表に表示されます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/firestore-query-02.max-2200x2200.png

サブコレクションにクエリを実行

特定の顧客のレンタルについて見ていきます。[表示] チップをクリックして、クエリの範囲を特定のサブコレクションに変更します。

https://storage.googleapis.com/gweb-cloudblog-publish/images/firestore-query-03.max-600x600.png

コレクション グループにクエリを実行

コレクション グループにクエリを実行して、ID が同じすべてのコレクションからドキュメントを取得します。では、Subaru または GMC をレンタルした全顧客を抽出するために、各顧客のレンタル履歴を見ていきます。そのためには、コレクション グループを基準にクエリを実行する必要があります。


  1. [Query Scope] プルダウンを [Collection group] に変更します。

  2. コレクション グループに「rentals」と入力します。

  3. [クエリに追加] をクリックして、WHERE 句を追加します。

  4. フィールドに [make]、演算子に [IN] を選択します。

  5. [IN] は条件を満たす値の配列を受け入れます。アイコンをクリックしてこの配列を編集し、[Subaru] および [GMC] の文字列値を追加します。

  6. [Update]、[Run] の順にクリックします。

https://storage.googleapis.com/gweb-cloudblog-publish/images/firestore-query-04.max-1200x1200.png
https://storage.googleapis.com/gweb-cloudblog-publish/images/firestore-query-05.max-2000x2000.png

使ってみる

このクエリビルダーは、Firestore ネイティブ モード、Datastore モード、および Firebase コンソールで利用できるようになりました。上記の例を参考に利用を開始するか、Google Cloud コンソールにおける Firestore の管理をクリックして詳細をご確認ください。新たに強化されたこのクエリ機能をお試しいただければ幸いです。

- フロントエンド ソフトウェア エンジニア Oskar Perskaas
- スタッフ インタラクション デザイナー Doug Hungarter

投稿先