クイックスタート: データベースを作成して接続する

MongoDB 互換の Firestore データベースを作成し、mongosh ツールで接続する方法について学びます。

始める前に

  1. In the Google Cloud console, go to the project selector page.

    Go to project selector

  2. Select or create a Google Cloud project.

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Make sure that you have the following role or roles on the project: roles/datastore.owner

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Google Cloud console, go to the IAM page.

      [IAM] に移動
    2. プロジェクトを選択します。
    3. [ アクセスを許可] をクリックします。
    4. [新しいプリンシパル] フィールドに、ユーザー ID を入力します。 これは通常、Google アカウントのメールアドレスです。

    5. [ロールを選択] リストでロールを選択します。
    6. 追加のロールを付与するには、 [別のロールを追加] をクリックして各ロールを追加します。
    7. [保存] をクリックします。
  5. mongosh ツールをインストールします

MongoDB 互換の Firestore データベースを作成し、接続文字列を取得する

Google Cloud コンソールで、新しい Firestore Enterprise エディション データベースを作成します。MongoDB 互換の Firestore を使用するには、Firestore Enterprise エディションが必要です。

  1. Google Cloud コンソールで [データベース] ページに移動します。

    [データベース] に移動

  2. [Firestore データベースを作成する] をクリックします。
  3. データベース ID を入力します。
  4. Enterprise Edition を選択します。
  5. データベースのロケーションを選択します。
  6. [データベースを作成] をクリックします。

    データベースの初期化が完了すると、コンソールでデータベースの Firestore Studio が開きます。

  7. [外部 MongoDB ツールを使用して Firestore に接続する] セクションで、接続文字列をコピーします。

    接続文字列は、データベースの UID(システム生成)とデータベースの場所によって異なります。

    UID.LOCATION.firestore.goog

SCRAM 認証用のユーザーを作成する

Google Cloud コンソールで、新しいデータベース ユーザーを作成し、ユーザーに Identity and Access Management 権限を割り当てます。

  1. Google Cloud コンソールで [データベース] ページに移動します。

    [データベース] に移動

  2. データベースのリストからデータベースを選択します。
  3. ナビゲーション メニューで [Auth] をクリックします。
  4. [ユーザーを追加] をクリックします。
  5. ユーザー名を入力します。
  6. ユーザーの Identity and Access Management ロールを選択します。
  7. [作成] をクリックします。データベースはユーザーを作成し、ユーザーの生成されたパスワードを表示します。このパスワードをコピーして保存します。後でこのパスワードを取得することはできません。

mongosh を使用して接続する

接続文字列、ユーザー名、パスワードを使用してデータベースに接続し、次の構成オプションを使用してローカルで mongosh を実行します。

mongosh 'mongodb://USERNAME:PASSWORD@CONNECTION_STRING:443/DATABASE_ID?loadBalanced=true&authMechanism=SCRAM-SHA-256&authMechanismProperties=ENVIRONMENT:gcp,TOKEN_RESOURCE:FIRESTORE&tls=true&retryWrites=false'

次のように置き換えます。

  • USERNAME: 作成したデータベース ユーザーの名前。
  • PASSWORD: 作成したデータベース ユーザーの生成されたパスワード。
  • CONNECTION_STRING: データベース接続文字列。
  • DATABASE_ID: データベース ID

接続すると、次のようなデータを作成、読み取ることができます。

db.pages.insertOne({ message: "Hello World!"})
db.pages.find({})
exit

クリーンアップ

このページで使用したリソースをクリーンアップするには、データベース ユーザーを削除してデータベースを削除します。

データベース ユーザーを削除する

データベース ユーザーを削除して、ユーザーと割り当てられた Identity and Access Management 権限を削除します。

  1. Google Cloud コンソールで [データベース] ページに移動します。

    [データベース] に移動

  2. データベースのリストからデータベースを選択します。
  3. ナビゲーション メニューで [Auth] をクリックします。
  4. 削除するユーザーの [アクション] 列で [ アクション] をクリックします。[ユーザーを削除] をクリックします。ダイアログが表示されます。
  5. 削除を確定するには、[削除] をクリックします。
  6. ダイアログに IAM ページへのリンクが表示されます。リンクをクリックして、データベース ユーザーに割り当てられた権限を削除します。
  7. アクセス権を取り消すプリンシパルを含む行を探します。その行の [ プリンシパルを編集します] をクリックします。

    作成したデータベース ユーザーのプリンシパルには、次の命名形式を使用します。

    principal://firestore.googleapis.com/projects/PROJECT_NUMBER/name/databases/DATABASE_ID/userCreds/USER_ID
  8. 取り消すロールの [削除] ボタンをクリックし、[保存] をクリックします。

データベースの削除

データベースを削除するには、次の操作を行います。

  1. Google Cloud コンソールで [データベース] ページに移動します。

    [データベース] に移動

  2. 削除するデータベースの [アクション] 列で、 [さらに表示] をクリックします。[削除] をクリックします。ダイアログが表示されます。
  3. [データベースを削除しますか?] ダイアログのテキスト フィールドにデータベース ID を入力して、削除を確定します。[削除] をクリックします。オペレーションの成功または失敗がコンソールに表示されます。

    オペレーションが失敗した場合は、データベースの詳細を表示し、削除保護が無効になっていることを確認します。削除保護を無効にするには、削除保護の設定を更新するをご覧ください。

次のステップ