Console で Firestore を管理する
Firestore を管理するには、Google Cloud Console で次の操作を行います。
- データの表示、クエリ、追加、編集、削除
- インデックスの管理
データを表示する
Google Cloud Console ですべての Firestore データを表示できます。Firestore のデータビューアで、ドキュメントまたはコレクションをクリックして、そのアイテム内にネストされているデータを開きます。
Google Cloud コンソールで [Database] ページに移動します。
データベースのリストから、必要なデータベースを選択します。
ナビゲーション メニューで [Firestore Studio] をクリックします。
特定のパスを開く
特定のパスにあるドキュメントまたはコレクションを開くには、パスの編集ボタン
を使用します。祖先ドキュメントが存在しない場合
祖先が存在しない場合であっても、ドキュメントは存在できます。たとえば、パス /mycoll/mydoc/mysubcoll/mysubdoc
にあるドキュメントは、祖先ドキュメント /mycoll/mydoc
が存在しなくても存在できます。Firestore データビューアでは、存在しない祖先ドキュメントは次のように表示されます。
- コレクション内のドキュメントのリストでは、存在しない祖先ドキュメントのドキュメント ID は斜体になっています。
- 存在しない祖先ドキュメントの情報パネルで、そのドキュメントが存在しないことが通知されます。
データをフィルタリングする
コレクション内のドキュメントは、フィールド値と ==
、!-
、>
、>=
、<
、<=
、in
、not-in
、array-contains
、array-contains-any
の条件に基づいてフィルタリングできます。たとえば、フィールド firstname
の値が Sam
のドキュメントだけを表示できます。コレクション フィルタを適用するには:
コレクション ID の横にあるフィルタボタン
をクリックします。[フィルタの追加] メニューから、ドキュメント フィールド、フィルタ条件、並べ替え順序を選択します。
[適用] をクリックします。
コレクション フィルタを削除するには、同じメニューを開いて [フィルタをクリア] をクリックします。
データのクエリ
Firestore Studio ページの [クエリビルダー] タブでドキュメントをクエリできます。
Google Cloud コンソールで [データベース] ページに移動します。
データベースのリストから、必要なデータベースを選択します。
ナビゲーション メニューで [Firestore Studio] をクリックします。
[クエリビルダー] タブをクリックします。
クエリの範囲を選択します。
[コレクション] を選択して、1 つのコレクションをクエリします。テキスト フィールドに、コレクションのパスを入力します。
[コレクション グループ] を選択して、同じ ID を持つすべてのコレクションをクエリします。[コレクション グループ] フィールドに、コレクション グループ ID を入力します。
指定したコレクションまたはコレクション グループのドキュメントが表に自動的に表示されます。
[クエリに追加] をクリックして、返された一連のドキュメントをフィルタリングします。デフォルトでは、クエリビルダーは
WHERE
句を追加します。この句は、プルダウンとテキスト フィールドを使用して変更できます。また、使用可能な他の句に変更することもできます。より複雑なクエリを続けて作成するには、[クエリに追加] をクリックします。クエリ句を削除するには、削除する句の削除ボタン
をクリックします。すべてのクエリ句を削除するには、[クリア] をクリックします。[実行] をクリックしてデータベースから結果を取得します。
クエリの要件と制限事項
クエリビルダーを使用する場合は、クエリに関する次の要件と制限事項に注意してください。
すべてのクエリは、1 つ以上のインデックスでサポートされる必要があります。クエリをサポートするインデックスがデータベースで見つからない場合、必要なインデックスを作成するためのリンクを含むエラーが返されます。
ORDER BY
句はWHERE
句のフィールドと一致し、同じ順序で指定する必要があります。デフォルトでは、結果はドキュメント ID で並べ替えられます。等式(==
)以外のフィールドでフィルタリングする場合は、そのフィールドにORDER BY
句を追加します。範囲(
<
、<=
、>
、>=
)と不等値(!=
、not-in
)のクエリ句は、すべて同一のフィールドに対するフィルタである必要があります。
その他の制限事項については、クエリの制限事項をご覧ください。
データを管理
Firestore では、データをドキュメントに格納し、ドキュメントをコレクションとして整理します。データの追加を開始する前に、Firestore のデータモデルに関する記事をお読みください。
ドキュメントとコレクションの追加、編集、削除は Firebase コンソールで行います。GCP コンソールからデータを管理するには、Firestore Studio ページに移動します。
Google Cloud コンソールで [データベース] ページに移動します。
データベースのリストから、必要なデータベースを選択します。
ナビゲーション メニューで [Firestore Studio] をクリックします。
データを追加
- [コレクションの開始] をクリックします。
- コレクション ID を入力します。ドキュメント ID を入力します。Firestore によってドキュメント ID が生成されますが、特定のドキュメントの ID を上書きできます。ドキュメント内にデータのフィールドを追加します。
- [保存] をクリックします。新しいコレクションとドキュメントがデータビューアに表示されます。
- コレクションにドキュメントをさらに追加するには、[ドキュメントを追加] をクリックします。
データを編集
- コレクションをクリックしてドキュメントを表示したら、ドキュメントをクリックしてそのフィールドとサブコレクションを表示します。
- フィールドをクリックしてフィールド値を編集します。選択したドキュメントにフィールドまたはサブコレクションを追加するには、[フィールドを追加] または [コレクションを開始] をクリックします。
データの削除
データ ビューアからドキュメントまたはコレクションを削除できます。
コレクションを削除するには:
- 削除するコレクションを選択します。
- ドキュメント列の上部にあるメニュー アイコンをクリックし、[コレクションを削除] をクリックします。
ドキュメントを削除するには:
- 削除するドキュメントを選択します。
- ドキュメントの詳細列の上部にあるメニュー アイコンをクリックします。[ドキュメントを削除] または [ドキュメント フィールドを削除] を選択します。
ドキュメントを削除すると、サブコレクションを含むそのドキュメント内のネストされたデータがすべて削除されます。
ドキュメントのフィールドを削除する場合、サブコレクションは削除されません。ドキュメントは空になっても存在し、クエリ結果に表示されます。
ドキュメント内の特定のフィールドを削除するには:
- ドキュメントを選択してフィールドを表示します。
- 削除するフィールドの横にある削除アイコンをクリックします。
Firestore セキュリティ ルールの管理
Firestore のセキュリティ ルールは、Google Cloud Console から確認できます。ルールセットを編集または削除するには、Firebase を有効にして、Firebase CLI または Firebase コンソールを使用します。
Firebase の有効化
Firestore セキュリティ ルールを編集するには、Google Cloud プロジェクトに対して Firebase を有効にする必要があります。Firebase が有効になっていない場合は、[セキュリティ ルール] ページから Firebase を有効にできます。
Firestore セキュリティ ルールの機能は、Firebase Auth および Firebase SDK(ウェブ、Android、Apple プラットフォーム)と緊密に統合されています。Firebase と Firestore の詳細については、Firebase スタートガイドをご覧ください。
セキュリティ ルールを表示する
Google Cloud コンソールで Firestore セキュリティ ルールを表示するには、[セキュリティ ルール] ページに移動します。
Google Cloud コンソールで [Database] ページに移動します。
データベースのリストから、必要なデータベースを選択します。
ナビゲーション メニューで [セキュリティ ルール] をクリックします。
セキュリティ ルールを編集する
Firestore セキュリティ ルールを編集または削除するには、Firebase CLI または Firebase コンソールを使用します。Firebase コンソールで、[Firestore] セクションの [ルール] タブに移動します。詳しくは、ルールの設定とカスタマイズの方法をご覧ください。
インデックスの管理
Firebase コンソールでクエリ用に新しいインデックスの作成や、既存のインデックスを管理するには、[Firestore] セクションで [Indexes] タブをクリックします。詳しくは、インデックスの管理方法をご覧ください。