logo
icon

MongoDB

ソースコードが公開されている、クロスプラットフォームでドキュメント指向のデータベースプログラム。

template cover
展開済み2595
発行者zeaburZeabur
作成日2024-03-29
サービス
service icon
タグ
Database

MongoDB をデプロイする

MongoDB は人気の高いオープンソースのドキュメント指向 NoSQL データベースです。従来の行と列ではなく、柔軟な JSON 風ドキュメントでデータを保存するため、高性能とスケーラビリティが求められるモダンな Web アプリに最適です。

Zeabur を使えば、Docker コンテナの管理やサーバー設定を手動で行う必要はありません。Marketplace からワンクリックで、すぐに利用可能な MongoDB をデプロイできます。

このチュートリアルで学べること

このチュートリアルでは、次の内容を案内します:

  1. Zeabur 上で MongoDB サービスをデプロイする
  2. VS Code / Compass / Mongosh を使ってローカルから接続する
  3. Node.js または Python アプリからデータベースへ接続する設定を行う

フェーズ 1: データベースをデプロイする

ステップ 1: MongoDB サービスを作成する

Zeabur は「ワンクリックデプロイ」を提供しているため、複雑な設定を手動で行うことはほとんどありません。

オプション 1: Project ページから Postgresql インスタンスを作成する

  1. Zeabur Dashboard にログインします。
  2. "New Project" ボタンをクリックします。
  3. "Template"(Marketplace)を選択します。
  4. MongoDB を検索します。
  5. 公式の MongoDB イメージを選択します。すぐにデプロイが開始されます。

オプション 2: テンプレートページから MongoDB インスタンスを作成する

  1. Zeabur Dashboard にログインします。
  2. FeaturesTemplate を選択します。
  3. MongoDB を選択、または検索します。
  4. MongoDB(通常は公式イメージ)を選び、deploy をクリックするとデプロイが開始されます。

ステップ 2: 接続文字列を取得する

  1. サービスの Instruction タブに移動します。
  2. MongoDB connection string(URI)をコピーします。
    • 例: mongodb://mongo:xxxx@xxx.clusters.zeabur.com:25909

フェーズ 2: データベースへ接続する

オプション A: VS Code で接続する

VS Code で MongoDB を管理する最良の方法は、公式拡張機能を使うことです。

  1. 拡張機能をインストール:
    • 拡張機能 Marketplace を開きます。
    • "MongoDB for VS Code" を検索します。
    • MongoDB が提供している拡張機能をインストールします。
  2. 接続を追加:
    • サイドバーに表示される MongoDB の葉アイコン をクリックします。
    • "Add Connection" をクリックします。
    • "Connect with Connection String" を選択します。
  3. 貼り付けて接続:
    • Zeabur からコピーした URL を Step 3 に貼り付けます。
    • Enter を押します。
    • サイドバーからコレクションやドキュメントを参照できるようになります。

オプション B: MongoDB Compass(公式 GUI)で接続する

データの可視化(テーブル、グラフ、スキーマ分析など)をしたい場合、MongoDB Compass は標準的なツールです。

  1. MongoDB Compass をダウンロードしてインストールします。
  2. アプリを開きます。
  3. "URI" 欄に Zeabur の接続文字列を貼り付けます。
  4. "Connect" をクリックします。
    • トラブルシューティング: 失敗する場合は、"Internal" ホストを誤ってコピーしていないか確認してください。Internal は通常 .svc.cluster.local で終わり、PC からは接続できません。Public は通常 .zeabur.app で終わります。

オプション C: Mongosh で接続する

mongosh は、MongoDB データベースとやり取りするための完全な機能を備えた JavaScript / Node.js REPL 環境です。

ドキュメントに従ってダウンロードしてインストールしたら、Zeabur ダッシュボードに戻ります。MongoDB サービスの Connections タブを開き、目のアイコンをクリックして接続文字列をコピーします。 connect-path

mongosh mongodb://<YOUR_CONNECT_PATH>

<YOUR_CONNECT_PATH> を先ほどコピーした接続文字列に置き換え、次のコマンドで接続をテストできます:

use mongodb_test
db.mongodb_test.insertOne({content: "Hello World"})
show dbs

成功すると、次のような結果が返されます: mongosh-connect-success

その後、テストデータベースを drop できます。

use mongodb_test
db.drop()

💡 重要: "Internal" と "Public" の違い

  • ローカル開発: 先ほど設定した Public ドメインを使用します。
  • デプロイ済みアプリ: バックエンド(Node.js/Python)を Zeabur にデプロイする場合は、MONGO_URI 環境変数を Internal 接続文字列(Connection タブの "Private" セクション)に切り替えます。
    • 理由: Internal 接続は高速で、Public の帯域使用量としてカウントされません。