こんにちは。Rails勉強中の @koshi_life です。
MongoDBを永続化DBとて採用している案件に携わる機会があり、
データ内容の可視化、実装時の各種確認のため、 mongo-express を使ってみたので、調べた範囲で使い方、できること、感想をまとめる。
ツールを選定にあたり参考にした記事
- MongoのGUIツールはmongo-express一択だった
- ツールのスクショはこちら参照 https://imgur.com/a/9vHsF
要件的には可視化できればよかったので、
こちらを参考に類似ツールについては調査せず導入した。
試した環境について
- OS: macOS HighSierra
- node.js: v8.10.0
- MongoDB: v4.0.4 (ローカルで稼働中)
Install
最新版をソースから導入した。
2019/01/28時点では v0.51.1
$ git install https://github.com/mongo-express/mongo-express.git
$ cd mongo-express
$ npm install
$ node app
No custom config.js found, loading config.default.js
Welcome to mongo-express
------------------------
Mongo Express server listening at http://localhost:8081
basicAuth credentials are "admin:pass", it is recommended you change this in your config.js!
Database connected
Connected to local...
http://localhost:8081/ でサービスが立ち上がる。
デフォルトのBasic認証のID/Passは admin
pass
だそうだ。
既存のデータベースはこの時点では見れない。
手っ取り早くデータの中身を見たい場合は、
環境引数 ME_CONFIG_MONGODB_AUTH_DATABASE
に中身を見たいデータベースを指定するよい。 testdb
を見る例
$ env ME_CONFIG_MONGODB_AUTH_DATABASE=testdb node app
設定ファイルについて
デフォルトの設定ファイルがあるのでコピーして独自設定を行うことができる。
コピーして作成する。
MongoDBのホスト指定とか、デフォルト起動で操作対象データベースもこちらで指定が可能。
$ cp config.default.js config.js
変更例: Basic認証のパスワードを変えたい場合
module.exports = {
mongodb: {
//... 略 ...
basicAuth: {
username: process.env.ME_CONFIG_BASICAUTH_USERNAME || 'koshikawa',
password: process.env.ME_CONFIG_BASICAUTH_PASSWORD || 'koshikawa-pass',
},
//... 略 ...
まとめ
導入はとても簡単だった。
UIも直感的に使えるのでとても開発する上で重宝している。
まだ設定ファイルの中身など理解度が追いついていないが、デフォルトで指定できるデータベースを複数見たいやり方など調べたら加筆したい。