有没有办法告诉Mongo漂亮的打印输出?目前,所有内容都输出到一行,并且难以阅读,尤其是嵌套数组和文档。
答案 0 :(得分:807)
(注意:这是对问题原始版本的回答,该版本没有“默认”的要求)
你可以问它很漂亮。
db.collection.find().pretty()
答案 1 :(得分:392)
您可以添加
DBQuery.prototype._prettyShell = true
到$HOME/.mongorc.js
中的文件,默认情况下全局启用精美打印。
答案 2 :(得分:46)
(注意:这是更新问题的答案)
您可以在CLI上执行此操作:
echo DBQuery.prototype._prettyShell = true >> ~/.mongorc.js
它总是能输出漂亮的结果。
答案 3 :(得分:16)
由于它基本上是一个javascript shell,你也可以使用toArray()
:
db.collection.find().toArray()
但是,这将打印集合的所有文档,而不是pretty()
,这将允许您进行迭代。
请参阅:http://docs.mongodb.org/manual/reference/method/cursor.toArray/
答案 4 :(得分:16)
哦,我猜.pretty()等于:
db.collection.find().forEach(printjson);
答案 5 :(得分:7)
尝试一下Mongo-hacker(节点模块),它总是很漂亮。 https://github.com/TylerBrock/mongo-hacker
更多它增强了mongo shell(仅支持ver> 2.4,当前版本为3.0),如
我在生产环境中使用的时间尚未出现问题。
答案 6 :(得分:1)
解决了这个问题,但无法弄清楚如何从外部加载的mongo中打印它。所以:
此功能适用于控制台:,在控制台中更受欢迎,但不适用于外部mongo加载的javascript:
db.quizes.find().pretty()
这在外部mongo加载的javscript中有效:
db.quizes.find().forEach(printjson)
答案 7 :(得分:-1)
检查出来:
db.collection.find().pretty()