MongoDB GUIツール

スポンサーリンク

MongoDBのGUIツールの準備方法をまとめます。MongoDB Compassは公式が推奨するクライアントアプリケーションです。一方、MongoDB ExpressはWebアプリケーションですのでクライアント端末側の操作は一切不要になります。

前提

公式ドキュメント

参考になる公式ドキュメントを以下に示します。

動作確認済環境

  • Rocky Linux 8.6
  • Windows Server 2022
  • MacOS 12.6
  • Docker CE 20.10.21
  • MongoDB Server 6.0.2

事前準備

MongoDB Serverの/etc/mongod.confのnet.bindIpに0.0.0.0を指定し、外部からの接続を許可する状態にしてください。netに関する設定を以下のように編集します。

# vi /etc/mongod.conf 

 <omitted>

# network interfaces
net:
  port: 27017
  bindIp: 0.0.0.0
  #bindIp: 127.0.0.1  # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.

 <omitted>

mongodを再起動し設定を反映されます。

systemctl restart mongod.service

tcp27017が0.0.0.0に対してListenの状態である事を確認します。

[root@linux010 ~]# ss -ano | grep 27017
u_str LISTEN     0      128                                   /tmp/mongodb-2701.sock 34786                   * 0                               
tcp   LISTEN     0      128                                                   0.0.0.0:27017             0.0.0.0:*  

MongoDB Compass

インストール手順

Windowsの場合

MongoDB Compassのダウンロードサイト」をブラウザで開きます。

「Version」「Platform」「Package」を選択した状態で、「Download」を押下します。

デフォルトの場合はzip版のダウンロードになります。もし、msiファイルによるダウンロードをしたい場合は、「Platform」を「Windows 64-bit (7+) (MSI)」に変更するとmsiファイルをダウンロードできるようになります。

MongoDB Compass for Windowsのダウンロード

ダウンロードしたmsiファイルをダブルクリックで実行します。

MongoDB Compass for Windowsのインストール 01

基本的にウィザードに沿って「Next」の押下連続でインストール完了します。以下、注意点のみに絞って説明します。

MongoDB Compass for Windowsのインストール 02

インストール先のディレクトリを指定します。特に拘りがない場合は、デフォルト設定のまま「Next」を押下します。

MongoDB Compass for Windowsのインストール 03

「Install」を押下します。

MongoDB Compass for Windowsのインストール 04

「Finish」を押下します。

MongoDB Compass for Windowsのインストール 05

MacOSの場合

MongoDB Compassのダウンロードサイト」をブラウザで開きます。

「Version」「Platform」「Package」を選択した状態で、「Download」を押下します。

MongoDB Compass for Macのダウンロード

ダウンロードしたdmgファイルをダブルクリックで実行します。

MongoDB Compass for Macのインストール 01

「MongoDB Compass.app」から「Applications」へドラッグ&ドロップします。

MongoDB Compass for Macのインストール 02

Spotlightに「MongoDB Compass」と入力する操作などで、MongoDB Compassを起動します。

MongoDB Compass for Macのインストール 04

接続文字列の指定方法

認証が存在しない場合

MongoDBへの接続方法はURIで指定します。もし、認証が必要ない場合は以下のように指定します。

mongodb://<MongoDBサーバのIPアドレス>:<MongoDBサーバのポート番号>

New Connectionの画面で接続先のURIを入力します。接続のみの操作をする場合は「Connect」を、接続情報を保存しつつ接続する場合は「Save & Connect」を押下します。

MogoDB Compassによる接続 01

接続先に対して分かりやすい名前をつける事ができます。また、色の指定も可能です。入力完了後、「Save & Connect」を押下するとMongoDB Serverへの接続を試みます。

MogoDB Compassによる接続 02

接続に成功すると、データベース一覧やホスト一覧(レプリカセット構成の場合は複数台が表示される)が表示されます。

MogoDB Compassによる接続 03

認証が存在する場合

MongoDBへの接続方法時に、認証が求められる場合ははURIを以下のように指定します。

mongodb://<ユーザ名>:<パスワード>@<MongoDBサーバのIPアドレス>:<MongoDBサーバのポート番号>

New Connectionの画面で接続先のURIを入力します。接続のみの操作をする場合は「Connect」を、接続情報を保存しつつ接続する場合は「Save & Connect」を押下します。

一般的にこのようなURI指定をする場合はユーザやパスワードに記号やスペースを使用するに当たりURLエンコーディングが必要になる事もあります。例えば、パスワード「P@ssw0rd」をURLエンコードすると「P%40ssw0rd」になります。しかし、MongoDB Compassのパース処理は非常に賢いので、MongoDB Compassの場合に限ってはURLエンコードしなくても接続可能です。

MogoDB Compassによる接続 04

接続先に対して分かりやすい名前をつける事ができます。また、色の指定も可能です。入力完了後、「Save & Connect」を押下するとMongoDB Serverへの接続を試みます。

MogoDB Compassによる接続 05

接続に成功すると、データベース一覧やホスト一覧(レプリカセット構成の場合は複数台が表示される)が表示されます。

MogoDB Compassによる接続 06

MongoDB Express

認証が存在する場合

MongoDB Serverが認証を求めない場合のMongoDB Expressの起動方法を説明します。

Dockerが使用可能な環境ならば、以下のような操作でMongoDB Exporessのコンテナが起動可能です。環境変数ME_CONFIG_MONGODB_URLに指定するMongoDB ServerのIPアドレスとポート番号は適宜の変更をお願いします。

docker run -d \
  --name mongoex01 \
  -p 8081:8081 \
  -e ME_CONFIG_MONGODB_URL=mongodb://172.16.1.10:27017/ \
  mongo-express:latest

ブラウザでtcp8081へ接続し、MongoDB Expressを閲覧できる事を確認します。

MongoDB Expressへの疎通確認 01

以下の操作でコンテナ削除が可能です。

docker container stop mongoex01
docker container rm mongoex01

認証が存在する場合

MongoDB Serverが認証を求める場合のMongoDB Expressの起動方法を説明します。

前述の操作例との違いは、環境変数ME_CONFIG_MONGODB_ADMINUSERNAMEとME_CONFIG_MONGODB_ADMINPASSWORDでユーザとパスワードを指定する違いだけです。

docker run -d \
  --name mongoex02 \
  -p 8081:8081 \
  -e ME_CONFIG_MONGODB_ADMINUSERNAME=admin \
  -e ME_CONFIG_MONGODB_ADMINPASSWORD=P@ssw0rd \
  -e ME_CONFIG_MONGODB_URL=mongodb://172.16.1.9:27017/ \
  mongo-express:latest

ブラウザでtcp8081へ接続し、MongoDB Expressを閲覧できる事を確認します。

MongoDB Expressへの疎通確認 02

以下の操作でコンテナ削除が可能です。

docker container stop mongoex02
docker container rm mongoex02
タイトルとURLをコピーしました