この記事では、MongoDBの基本概念からインストール手順、さらにMongoDB Compassの設定方法までを解説しています。MongoDBはNoSQLデータベースの一種であり、その利点や使い方を理解することで、データ管理の効率を大幅に向上させることができます。
MongoDBとは?
MongoDBは、現代のアプリケーション開発に欠かせない強力なNoSQLデータベースです。従来のリレーショナルデータベースとは異なり、MongoDBは柔軟性と拡張性に優れており、大規模なデータセットを効率的に処理できます。
MongoDBとNoSQLの利点
MongoDBはドキュメント指向データベースとして知られています。データはJSONに類似した形式で格納され、これにより複雑な階層構造を持つデータを簡単に表現できます。
NoSQLデータベースとしてのMongoDBの主な利点は以下の通りです:
- スキーマレス設計: データ構造を事前に定義する必要がなく、アジャイル開発に適しています。
- 高いスケーラビリティ: シャーディングにより、データを複数のサーバーに分散して格納できます。
- 優れたパフォーマンス: インデックスを活用した高速なクエリ処理が可能です。
- 柔軟なデータモデル: 各ドキュメントが異なる構造を持つことができ、変化するデータ要件に対応しやすいです。
- 豊富な機能: 地理空間検索やフルテキスト検索など、多様な機能を備えています。
これらの特徴により、MongoDBはWebアプリケーション、SNS、IoTデータの格納など、多岐にわたる用途に適しています。
MongoDBのインストール手順
Windowsの場合
MongoDB公式サイトからインストーラーをダウンロードします。
「8.0.1 (current)」、「Windows x64」、「msi」を選択して、「Download」を押します。
バージョン8.0.1 (current)は最新の安定版です。※2024/10現在
ダウンロードしたインストーラーをダブルクリックします。
インストーラーが起動します。「Next」をクリックします。
ライセンスに同意にチェックを入れて、「Next」をクリックします。
Setup Typeの選択:「Complete」をクリックします。
- Complete:
- すべての機能とコンポーネントをインストールします。デフォルト設定で最も簡単な方法です。
- 初めてMongoDBをインストールする場合や、特別なカスタマイズが不要な場合に最適です。すべての必要なツールとサービスが自動的に設定されます。
- Custom:
- インストールするコンポーネントや機能を選択できます。ディレクトリの指定や特定のオプションをカスタマイズしたい場合に使用します。
- 特定の要件がある場合や、ディスクスペースを節約したい場合に適しています。
サービス設定はデフォルト設定で「Next」をクリックします。
- “Install MongoD as a Service” にチェックが入っている:
- これは推奨される設定です。MongoDBをWindowsサービスとしてインストールすることで、システム起動時に自動的に起動し、バックグラウンドで実行されます。
- “Run service as Network Service user” にチェックが入っている:
- これも一般的に安全な選択です。Network Serviceアカウントは、ローカルシステムアカウントよりも制限された権限を持つため、セキュリティ上好ましいです。
これらの設定は以下の利点があります:
- システム起動時にMongoDBが自動的に起動します。
- サービスとして実行されるため、ユーザーがログアウトしても継続して動作します。
- Network Serviceユーザーとして実行されることで、必要最小限の権限でMongoDBが動作し、セキュリティリスクを軽減します。
特別な要件がない限り、これらのデフォルト設定を使用することをお勧めします。ただし、特定のセキュリティポリシーや環境要件がある場合は、それに応じて設定を調整する必要があるかもしれません。
「Install MongoDB Compass」にチェックが入っているので、そのままの設定で「Next」をクリックします。
※MongoDB Compassを一緒にインストールします。MongoDB CompassとはGUIで操作できるアプリです。今後使用するのでインストールしてください。
「Install」をクリックします。
ユーザーアカウント制御のポップアップが表示されるので、「はい」をクリックします。
インストール中に「File in Use」ダイアログが表示され、「Close the applications and attempt to restart them」にチェックが入っているので、そのまま「OK」をクリックします。このオプションは、インストールを続行するために必要なファイルを使用しているアプリケーションを一時的に終了し、インストール後にそれらを再起動することを意味します。
ポップが出るので、「OK」をクリックしてください。
インストールが完了したら「Finish」をクリックして閉じます。
※PCを再起動する必要があり、今すぐ再起動するかどうかの確認ポップが表示されます。
MongoDB 8.0.1 2008R2Plus SSL (64 ビット) の構成変更を有効にするには、システムを再起動する必要があります。今すぐ再起動する場合は [はい] をクリックし、後で手動で再起動する場合は [いいえ] をクリックします。
再起動後、コマンドプロンプトまたは、ターミナルで正しくインストールされているかバージョンを確認してみましょう。バージョン情報が表示されていれば完了です。
mongod --version
※エラーが出る場合は、環境変数を設定してください。
通常は:”C:\Program Files\MongoDB\Server\<version>\bin” のディレクトリに保存されています。
※バージョン8.0.1の場合:”C:\Program Files\MongoDB\Server\8.0\bin” のパスを環境変数に設定します。
binフォルダを右クリック、「パスのコピー」を選択します。
タスクバーの検索で「環境変数」と検索して、「システム環境変数の編集」を開きます。
「環境変数」をクリックします。
システム環境変数の欄の「Path」をダブルクリックして開きます。
一番下の空欄をダブルクリックして、先ほど「パスのコピー」を貼り付けて、「OK」をクリックします。
再度、バージョンを確認してみましょう。バージョンが表示されたら環境変数の設定は完了です。
mongod --version
環境変数を設定してもエラーが出る場合は、PCの再起動してみてください。また、MongoDBのアンインストール、再インストールも検討してみてください。
macOSの場合
macOSでは、Homebrewを使用してMongoDBを簡単にインストールできます。
- Homebrewのインストール (まだインストールしていない場合):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
最新情報などは以下の公式サイトを確認してください。Hemebrew公式サイト
- MongoDBのインストール:
brew tap mongodb/brew
brew install mongodb-community
各システムにおける具体的なコマンドや設定は、公式ドキュメントを参照することをお勧めします。これにより、最新の情報や特定の環境に応じた詳細な手順を確認できます。
公式ドキュメント: MongoDB Community Edition の macOS へのインストール
Linuxの場合
※以下は、8.0.1バージョンのインストール方法です。
最新の情報や特定の環境に応じた詳細な手順を確認できます。
公式ドキュメント: LinuxへのMongoDB Community Editionインストール
Ubuntu / Debian
GPGキーのインポート
curl -fsSL https://pgp.mongodb.com/server-8.0.1.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.1.gpg --dearmor
MongoDBリポジトリの追加
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.1.gpg ] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list
パッケージリストの更新
sudo apt-get update
MongoDBのインストール
sudo apt-get install -y mongodb-org
MongoDBサービスの起動と確認
- 起動:
sudo systemctl start mongod
- 停止:
sudo systemctl stop mongod
- 状態確認:
sudo systemctl status mongod
CentOS / Red Hat
リポジトリファイルの作成
sudo vi /etc/yum.repos.d/mongodb-org-8.0.repo
以下の内容を追加:
[mongodb-org-8.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/8.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-8.0.1.asc
MongoDBのインストール
sudo yum install -y mongodb-org
MongoDBサービスの起動と確認
- 起動:
sudo systemctl start mongod
- 停止:
sudo systemctl stop mongod
- 状態確認:
sudo systemctl status mongod
各システムにおける具体的なコマンドや設定は、公式ドキュメントを参照することをお勧めします。これにより、最新の情報や特定の環境に応じた詳細な手順を確認できます。
公式ドキュメント: LinuxへのMongoDB Community Editionインストール
MongoDB Compassインストール(Mac,Linux)
macOSの場合
- MongoDB Compassのダウンロードページから最新のmacOS用.dmgファイルをダウンロードします。
- ダウンロードした.dmgファイルをダブルクリックしてディスクイメージを開きます。
- MongoDB Compassアプリケーションを「Applications」フォルダにドラッグします。
- 「Applications」フォルダでCompassアイコンをダブルクリックして起動します。
Linuxの場合
MongoDB Compass 1.44.5の インストール方法です。このバージョンに基づいて、Linuxへのインストール手順を紹介します。
最新の情報や特定の環境に応じた詳細な手順を確認できます。
公式ドキュメント: LinuxへのMongoDB Compassインストール
Ubuntu / Debian (.deb)
MongoDB Compassのダウンロード
wget https://downloads.mongodb.com/compass/mongodb-compass_1.44.5_amd64.deb
MongoDB Compassのインストール
apt
を使用する場合:
sudo apt install ./mongodb-compass_1.44.5_amd64.deb
dpkg
を使用する場合(依存関係がある場合):
bash sudo dpkg -i mongodb-compass_1.44.5_amd64.deb sudo apt-get install -f
MongoDB Compassの起動
mongodb-compass
CentOS / Red Hat (.rpm)
MongoDB Compassのダウンロード
wget https://downloads.mongodb.com/compass/mongodb-compass-1.44.5.x86_64.rpm
MongoDB Compassのインストール
sudo yum install mongodb-compass-1.44.5.x86_64.rpm
MongoDB Compassの起動
mongodb-compass
最新の情報や特定の環境に応じた詳細な手順を確認できます。
公式ドキュメント: LinuxへのMongoDB Compassインストール
MongoDB Compassの接続設定
MongoDB Compassは、MongoDBデータベースを視覚的に操作・管理するためのグラフィカルユーザーインターフェース(GUI)ツールです。主な機能は以下の通りです:
- データベースの閲覧と操作
- クエリの実行と最適化
- ドキュメントの挿入、編集、削除
- インデックスの管理
- パフォーマンス分析
まず、MongoDB Compass開きます。
Windowsの場合、タスクバーの検索で「MongoDB Compass」を検索してアプリを開きます。
※タスクバーにピン留めしておくと起動時に便利です。
「Add new connection」をクリックします。
Add new connection:
新しいMongoDBデータベースへの接続を追加します。これにより、ローカルやリモートのMongoDBサーバーに接続し、そのデータベースの内容を閲覧・操作することができます。複数の接続を管理することで、異なる環境や目的のデータベースを簡単に切り替えて作業することが可能になります。
- URI(接続文字列):
mongodb://localhost:27017
は既に入力されているので、そのままで問題ありません。これはローカルのMongoDBサーバーに接続するための標準的なURIです。 - Name:
この接続に分かりやすい名前をつけます。例えば、”LocalMongoDB” や “DevelopmentDB” など、後で識別しやすい名前を選びます。 - Color:
任意の色を選択できます。これは視覚的な識別のためのものなので、好みの色を選んでください。 - Favorite this connection:
このチェックボックスをオンにすると、この接続設定がお気に入りとして保存され、次回から簡単にアクセスできるようになります。初めての接続でも、後で再利用する予定がある場合はチェックすることをお勧めします。 - Save / Save & Connect:
- Save: この設定を保存するだけで、まだ接続は行いません。後で接続したい場合はこちらを選びます。
- Save & Connect: 設定を保存し、すぐにMongoDBサーバーへの接続を試みます。すぐに接続したい場合はこちらを選びます。
初めての接続の場合、以下の設定をお勧めします:
- Nameに “LocalMongoDB” と入力
- 好みの色を選択
- “Favorite this connection” にチェックを入れる
- “Save & Connect” をクリック
「Favorite this connection」のチェックボックスをオンにすると、MongoDB Compassで設定した接続が「お気に入り」として保存され、次回から簡単にアクセスできるようになります。この設定は、特に頻繁に使用する接続を管理するのに便利です。
接続設定が完了すると、以下のように左サイドバーに表示されます。
クリックすると右に詳細が表示されます。
MongoDB Compassでのデータベース作成
今回は、MongoDB Compassを使用してユーザー情報のデータベースを作成します。
右上の「Create database」をクリックします。
データベース名(例:「user_info」)とコレクション名(例:「users」)を入力して、「Create Database」をクリックします。
作成したコレクションを選択し、「Add DATA」→「Insert document」をクリックします。
JSONフォーマットでユーザー情報を入力します。例:json{ "username": "john_doe", "email": "john@example.com", "age": 30 }
{
"username": "john_doe",
"email": "john@example.com",
"age": 30
}
「Insert」をクリックしてドキュメントを追加します。
以下のようにデータが反映されます。
MongoDBの操作や管理方法には複数のアプローチがあり、状況や目的によって適切な方法が異なります。
- mongoshell(コマンドライン):
- 直接的なデータベース操作が可能
- スクリプト化やバッチ処理に適している
- 高度な操作や管理タスクに適している
※コマンドプロンプトまたは、ターミナルで使用する場合は、公式サイトからダウンロードが必要です。Compass内で使用する場合は、ダウンロードは不要です。
左上の「Open MongoDB shell」クリックすると、mongoshellが起動します。
- GUI(MongoDB Compassなど):
- 視覚的にデータベースを操作できる
- 初心者にとって使いやすい
- データの閲覧や簡単な操作に適している
- プログラムによる自動作成(ExpressなどのODM/ORMを使用):
- アプリケーション開発の一部としてデータベースを管理
- コード内でデータベース構造を定義できる
- アプリケーションとデータベースの一貫性を保ちやすい
一般的な使用傾向:
- 開発初期段階: GUIツール(MongoDB Compass)を使用して、データベース構造を視覚的に設計・確認することが多い。
- アプリケーション開発中: ExpressなどのフレームワークとODM(Object Document Mapper、例:Mongoose)を使用して、プログラム内でデータベースを自動作成・管理することが一般的。
- 運用・管理段階: mongoshellを使用して、高度な操作や管理タスクを実行することが多い。
結論として、アプリケーション開発においては、ExpressなどのフレームワークとODMを使用してプログラム内でデータベースを自動作成・管理する方法が最も一般的です。これにより、アプリケーションのコードとデータベース構造を密接に連携させることができ、開発効率が向上します。
ただし、状況に応じてGUIツールやmongoshellも併用することで、より柔軟かつ効果的なデータベース管理が可能になります。
まとめ
- MongoDBとは: ドキュメント指向のNoSQLデータベースであり、高いスケーラビリティと柔軟性を持つ。
- MongoDBとNoSQLの利点: スキーマレスであるため、データ構造の変更が容易であり、大量のデータを効率的に処理できる。
- MongoDB Compass: GUIクライアントとして、データベースの操作が直感的に行える。
- 接続設定: MongoDB Compassを使用してMongoDBに接続する手順の解説。
MongoDBは、スキーマレスなデータ管理を可能にするNoSQLデータベースであり、特に大規模なデータ処理が求められるアプリケーションに適しています。この記事では、MongoDBの基本的な機能と利点について説明し、各OSごとのインストール手順を詳述しました。さらに、MongoDB Compassを利用することで、データベース操作が視覚的かつ簡単に行えます。
コメント