HTTPインターフェース

HTTP コンソールページ

MongoDBには、管理者用の情報を提供するシンプルなhttpインターフェースがあります。このインターフェースは、mongodで使用しているport+1000でアクセスできます。http用のデフォルトのportは28017です。httpインターフェースにアクセスするには、たとえば、mongodがローカルのマシンで、デフォルトの設定で動いているなら、ブラウザで http://localhost:28017 を開きます。

以下は、httpインターフェースで取得できる情報です。

element description
db version データベースのバージョン
git hash データベースのバージョンの開発者用タグ
sys info mongod のコンパイル環境
dblocked プライマリーのmongod mutexが保持されているかどうか
uptime mongodの起動時間
assertions mongodからのassertionの数
replInfo レプリケーション設定の情報
currentOp 直近のクライアントからのリクエスト
# databases mongodによってアクセスされたデータベース数
curclient このmongodで最後にアクセスされたデータベース
Cursors クライント側のカーソル
master このmongodがmasterとして設定されているかどうか
slave このmongodがslaveとして設定されているかどうか
initialSyncCompleted このslaveまたはreplica pairのノードの初期のcloneが完了しているかどうか
DBTOP mongodが使用したコレクション毎のトータル時間と、最近の、それぞれのコレクションに対して使った平均時間のパーセント、read/writeと全体の呼び出し回数を表示
dt プライマリーのmongod mutexのタイミングの情報

HTTP コンソールのセキュリティ

mongodでセキュリティが設定されている場合、httpインターフェースへの他のマシンからのアクセスで認証が要求されます。

シンプルなRESTインターフェース

mongodプロセスで、シンプルなread-onlyのRESTインターフェースを使うことが出います。 完全なRESTのためには、 Sleepy.Mongoose などの外部ツールの仕様をお薦めします。

Note: MongoDBの1.3.4以上では、この機能はデフォルトで無効になっています。 有効にするためには、 --rest オプションをコマンドラインでつけてください。

コレクションの情報の取得 (文末のスラッシュは必要です)

http://127.0.0.1:28017/databaseName/collectionName/ 

limitを加える

http://127.0.0.1:28017/databaseName/collectionName/?limit=-10 

skipする

http://127.0.0.1:28017/databaseName/collectionName/?skip=5 

{a : 1} のクエリー

http://127.0.0.1:28017/databaseName/collectionName/?filter_a=1 

複数の条件を & で区切る

http://127.0.0.1:28017/databaseName/collectionName/?filter_a=1&limit=-10 

シンプルなRESTインターフェースでのJSON

このシンプルなRESTインターフェースでは厳密なJSONを使用します (これに対してシェルでは、dateや正規表現を使います)
JSONではない型を表示するためには、webインターフェースでは、これらをobjectでラップし、タイプとしてキーを使います。たとえば、
To display non-JSON types, the web interface wraps them in objects and uses the key for the type. For example:

# ObjectId は文字列になります
"_id" : "4a8acf6e7fbadc242de5b4f3" 

# date
"date" : { "$date" : 1250609897802 } 

# 正規表現 
"match" : { "$regex" : "foo", "$options" : "ig" } 

code type は、DBをクラッシュさせる原因になるのでまだ実装されていません。

詳細については、 Mongo Extended JSON を参照してください。

参照


Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.

IF YOU HAVE A QUESTION, POST IT TO THE USER GROUP.

These pages are fine for comments, but for questions, your best bet will always be the MongoDB User Group.

blog comments powered by Disqus