有没有办法告诉Mongo漂亮的打印输出?目前,所有内容都输出到一行,很难读取,特别是嵌套数组和文档。
当前回答
(注:这是更新问题的答案)
你可以在CLI中这样做:
echo DBQuery.prototype._prettyShell = true >> ~/.mongorc.js
它总是会输出漂亮的结果。
其他回答
得到了这个问题,但不知道如何从外部加载mongo打印它。所以:
这是适用于控制台:和首选在控制台,但不工作在外部mongo加载javascript:
db.quizes.find().pretty()
这在外部mongo加载的javscript中工作:
db.quizes.find().forEach(printjson)
(注:这是原题的答案,原题没有“default”的要求)
你可以要求它很漂亮。
db.collection.find().pretty()
尝试一下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,还没有问题。
因为它基本上是一个javascript shell,你也可以使用toArray():
db.collection.find().toArray()
但是,这将打印集合中的所有文档,这与允许迭代的pretty()不同。 参见:http://docs.mongodb.org/manual/reference/method/cursor.toArray/
你可以添加
DBQuery.prototype._prettyShell = true
到$HOME/.mongorc.js文件中,默认启用全局漂亮打印。
推荐文章
- js的Mongoose.js字符串到ObjectId函数
- mongodb中使用ISODate的日期查询似乎无法正常工作
- 如何更新文档数组中的对象(嵌套更新)
- 在猫鼬模式中添加created_at和updated_at字段
- 如何更新mongodb中的多个数组元素
- MongoDB和Mongoose的区别
- 命令行svn for Windows?
- MongoDB在v4之前不兼容ACID意味着什么?
- 显示所有集合中的所有内容
- MongoDB:更新一个字段上的每个文档
- 在命令行中切换php版本
- 我如何在MongoDB中部分更新一个对象,以便新对象将覆盖/合并现有的一个
- MongoDB的命名约定是什么?
- 在Linux中是否有办法继续中断的scp(安全拷贝)命令进程?
- MongoDB在尝试插入整数时插入浮点数