可以使用Mongo Shell的–eval选项将对象以JSON格式输出

这篇文章是Qiita上2015年MongoDB圣诞日历的第16天。

Mongo Shell可以通过mongo命令启动,其中有一个–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,
...

太好了。 le.)

    MongoDB Shell (mongo) — Getting Started With MongoDB 3.0.4