在默认情况下,在MongoDB shell中相当漂亮

有没有办法告诉Mongo漂亮的打印输出? 目前,一切都输出到一个单一的行,很难阅读,尤其是嵌套数组和文档。

注意:这是回答问题的原始版本,对“默认”没有要求

你可以问它很漂亮。

db.collection.find().pretty() 

你可以加

 DBQuery.prototype._prettyShell = true 

$HOME/.mongorc.js文件以默认启用全局打印。

(注意:这是对更新问题的回答)

您可以在CLI上执行此操作:

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

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

既然它基本上是一个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(仅支持ver> 2.4,当前版本为3.0)

  • 彩色化
  • 其他shell命令(计数文档/计数文档/等)
  • API添加(db.collection.find({…})。last(),db.collection.find({…})。reverse()等)
  • 聚合框架

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

 db.collection.find().pretty() 

上面的命令会使你的结果如下所示: 使用漂亮的命令

stu是我collections的名字,你应该使用自己的collections名称来代替它。 我希望截图帮助你一个很好的方法。