MeteorでMongoDBのデバッグに使えるMongolパッケージ
Meteorでアプリの開発をするときにはどのようなデバッグ方法があるでしょうか。meteor shell
やmeteor debug
はサーバサイドのツールです。クライアントサイドはどうでしょう。Meteorのチュートリアルを見ているとブラウザのデベロッパーツールを使って、コンソールで操作することが一つの方法のようです。
今回は、クライアントサイドでのデバッグに使えるライブラリであるMongolを紹介します。
Mongolとは
Mongolは、Mongoのクライアントサイドのコレクション(データ)を見るためのビューアライブラリです。開発している動作中のアプリに追加して使います。できることは基本的にコンソール操作と変わらないのですが、UIがあるのでとても手軽に操作できます。
コレクションを閲覧するだけでなく修正したり、新しいドキュメントを追加したりすることもできます。また、insecureパッケージに依存しておらず、独自のmethodをサーバサイドに用意しているため、通常のコードに影響しません。
Mongolはデバッグ用のライブラリ(debugOnly)なので、デプロイ時には自動的に外されます。
インストール方法は開発中のアプリで、
meteor add msavin:mongol
とするだけです。
試してみる
http://mongol.meteor.com/にデモがありますので試してみましょう。ビューアの表示・非表示の切り替えはCtrl-Mで行います。
初めて表示する際は、コレクションのリストが表示されています。この状態でもドキュメント数が分かります。
コレクション名をクリックすると中身を見ることができます。修正(Update)や削除(Remove)もできます。複数(Duplicate)してから修正することでできます。
コレクションが空の場合は新規作成になります。Subscriptionsの対象になっていれば、Insert後にすぐに反映されます。
Meteor Toysについて
作者の方はMeteor ToysというサイトでMongol Proを提供しています。Pro版は有償ですが、データベースのリセットや復活できるゴミ箱機能などが入っているそうです。また、Meteor ToysにはMongol以外のライブラリも提供されています。
感想
Meteorのデバッグ方法は従来のやり方とは異なるのではないかと思っていました。Mongolはコンソールでできることを簡単にしただけですが、DB周りの動作を確認するツールとしてはとても有用ではないかと思います。