Meteor Fan (日本語情報)

JavaScriptフレームワークMeteorに関していろいろ紹介する日本語情報サイト

MeteorでMongoDBのデバッグに使えるMongolパッケージ

Meteorでアプリの開発をするときにはどのようなデバッグ方法があるでしょうか。meteor shellmeteor debugはサーバサイドのツールです。クライアントサイドはどうでしょう。Meteorのチュートリアルを見ているとブラウザのデベロッパーツールを使って、コンソールで操作することが一つの方法のようです。

今回は、クライアントサイドでのデバッグに使えるライブラリであるMongolを紹介します。

Mongolとは

Mongolは、Mongoのクライアントサイドのコレクション(データ)を見るためのビューアライブラリです。開発している動作中のアプリに追加して使います。できることは基本的にコンソール操作と変わらないのですが、UIがあるのでとても手軽に操作できます。

コレクションを閲覧するだけでなく修正したり、新しいドキュメントを追加したりすることもできます。また、insecureパッケージに依存しておらず、独自のmethodをサーバサイドに用意しているため、通常のコードに影響しません。

Mongolはデバッグ用のライブラリ(debugOnly)なので、デプロイ時には自動的に外されます。

インストール方法は開発中のアプリで、

meteor add msavin:mongol

とするだけです。

試してみる

http://mongol.meteor.com/にデモがありますので試してみましょう。ビューアの表示・非表示の切り替えはCtrl-Mで行います。

スクリーンショット1

初めて表示する際は、コレクションのリストが表示されています。この状態でもドキュメント数が分かります。

スクリーンショット2

コレクション名をクリックすると中身を見ることができます。修正(Update)や削除(Remove)もできます。複数(Duplicate)してから修正することでできます。

スクリーンショット3

コレクションが空の場合は新規作成になります。Subscriptionsの対象になっていれば、Insert後にすぐに反映されます。

Meteor Toysについて

作者の方はMeteor ToysというサイトでMongol Proを提供しています。Pro版は有償ですが、データベースのリセットや復活できるゴミ箱機能などが入っているそうです。また、Meteor ToysにはMongol以外のライブラリも提供されています。

感想

Meteorのデバッグ方法は従来のやり方とは異なるのではないかと思っていました。Mongolはコンソールでできることを簡単にしただけですが、DB周りの動作を確認するツールとしてはとても有用ではないかと思います。