有没有办法告诉Mongo漂亮的打印输出?目前,所有内容都输出到一行,很难读取,特别是嵌套数组和文档。


当前回答

因为它基本上是一个javascript shell,你也可以使用toArray():

db.collection.find().toArray()

但是,这将打印集合中的所有文档,这与允许迭代的pretty()不同。 参见:http://docs.mongodb.org/manual/reference/method/cursor.toArray/

其他回答

哦,所以我猜。pretty()等于:

db.collection.find().forEach(printjson);

因为它基本上是一个javascript shell,你也可以使用toArray():

db.collection.find().toArray()

但是,这将打印集合中的所有文档,这与允许迭代的pretty()不同。 参见:http://docs.mongodb.org/manual/reference/method/cursor.toArray/

尝试一下Mongo-hacker(节点模块),它总是打印漂亮。 https://github.com/TylerBrock/mongo-hacker

更多的它增强了mongo shell(只支持版本>2.4,目前版本是3.0),如

彩色化 额外的shell命令(count documents/count docs/etc) API添加(db.collection。找到({…db.collection}) .last()。找到({…}) .reverse()等) 聚合框架

我在生产环境中使用for,还没有问题。

得到了这个问题,但不知道如何从外部加载mongo打印它。所以:

这是适用于控制台:和首选在控制台,但不工作在外部mongo加载javascript:

db.quizes.find().pretty()

这在外部mongo加载的javscript中工作:

db.quizes.find().forEach(printjson)

你可以添加

DBQuery.prototype._prettyShell = true

到$HOME/.mongorc.js文件中,默认启用全局漂亮打印。