如何启用mongodb cli漂亮的打印? - db.col.find()。pretty()无效

时间:2013-08-16 15:36:49

标签: mongodb

使用mongo v2.4.5 shell,db.col.find()。pretty()在osx控制台或linux ubuntu 12.04 bash上都没有打印出来。

输出中没有带有和没有pretty()

的差异
> db.people.find()
{ "_id" : ObjectId("520d293752cfe6ece5d3fd77"), "name" : "Andrew" }
{ "_id" : ObjectId("520e448b77803f8f15fcfedb"), "name" : "Amy" }
> 
> db.people.find().pretty()
{ "_id" : ObjectId("520d293752cfe6ece5d3fd77"), "name" : "Andrew" }
{ "_id" : ObjectId("520e448b77803f8f15fcfedb"), "name" : "Amy" }
> 

我错过了什么? (毫无疑问是疯狂的事情)

THX


更新:doh!回答如下。我没有意识到这样一个简单的文档不会被美化。嵌套文档对我来说非常好。

2 个答案:

答案 0 :(得分:10)

只有嵌套或更大的文档时,

.pretty才会真正改变:

> db.so.insert( { name: "Derick" } );
> db.so.insert( { f: 'Derick', s: 'Rethans', t: 'derickr' } );
> db.so.insert( { name: { f: 'Derick', s: 'Rethans' } } );

> db.so.find();
{ "_id" : ObjectId("520e49a21d7b77441eaf6446"), "name" : "Derick" }
{ "_id" : ObjectId("520e49b11d7b77441eaf6447"), "name" : { "f" : "Derick", "s" : "Rethans" } }

> db.so.find().pretty();
{ "_id" : ObjectId("520e49a21d7b77441eaf6446"), "name" : "Derick" }
{
    "_id" : ObjectId("520e4f895a4563e39f06b030"),
    "f" : "Derick",
    "s" : "Rethans",
    "t" : "derickr"
}
{
    "_id" : ObjectId("520e49b11d7b77441eaf6447"),
    "name" : {
        "f" : "Derick",
        "s" : "Rethans"
    }
}

所以我认为它适合你!

答案 1 :(得分:1)

您可以在$HOME/.mongorc.js中将这些行添加到您的文件中,以便启用漂亮的打印。

DBQuery.prototype._prettyShell = true

或者,您可以使用此命令以数组格式打印文档:

db.collection.find().toArray()

喝彩!