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


当前回答

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

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

其他回答

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

db.collection.find().toArray()

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

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

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

尝试一下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,还没有问题。

(注:这是更新问题的答案)

你可以在CLI中这样做:

echo DBQuery.prototype._prettyShell = true >> ~/.mongorc.js

它总是会输出漂亮的结果。

你可以添加

DBQuery.prototype._prettyShell = true

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