この記事はMongoDB Advent Calendar 2015 - Qiitaの16日目です。
mongo
コマンドで起動できるMongo Shellには--eval
オプションがあり、対話式のMongo Shellを開かずに直接コマンドを評価・実行することができます。
しかし、この機能で普通にオブジェクトを出力しようとすると、対話式モードと違い以下のような出力になってしまいます。
$ mongo --eval 'rs.conf()'
MongoDB shell version: 3.0.6
connecting to: oreno-mongodb00-00:27017/test
[object Object]
中身が見えない!!
そこでprintjson()
です。これを使うと--eval
であってもオブジェクトの中身まで表示できます。
$ mongo --eval 'printjson(rs.conf())'
MongoDB shell version: 3.0.6
connecting to: oreno-mongodb00-00:27017/test
{
"_id" : "oreno-mongodb00",
"version" : 11,
"members" : [
{
"_id" : 0,
...
やったね。