findOne() 导致漂亮的json对象.
find() 导致破碎的json对象.
我怎样才能让find()一样findOne(),当谈到在蒙戈外壳显示?
Roh*_*han 150
如果您使用javascript编写脚本,则可以使用dcrosta的答案.但是如果你想直接在mongo交互式shell上打印,你必须在你的find()查询中附加pretty().
在shell上键入:
db.yourcollection.find().pretty()
dcr*_*sta 19
find()支持返回的游标对象forEach(),因此您可以使用:
db.foo.find().forEach(printjson)
Run Code Online (Sandbox Code Playgroud)
但请注意,与默认输出find()显示前10个对象不同,然后让您选择是否继续迭代,forEach()将迭代整个结果集.因此,如果您的查询返回许多结果,这可能需要一段时间,可能不会非常有用.limit()是你的朋友.
在提出问题时它可能不可用,但为了使所有find()查询的默认输出都漂亮,我使用:
DBQuery.prototype._prettyShell = true
Run Code Online (Sandbox Code Playgroud)
我还添加以下内容:
DBQuery.prototype.ugly = function() {
this._prettyShell = false;
return this;
}
Run Code Online (Sandbox Code Playgroud)
这使我能够使用以下命令丑化单个查询的结果find():
db.mycollection.find().ugly()
Run Code Online (Sandbox Code Playgroud)
我通常将两个原型声明添加到我的~/.mongorc.js文件中,以便它们在所有 mongo cli shell 中可用。
使用 已经提供了正确答案.pretty()。
不过,顺便说一句,您还可以在光标上调用 .toArray() 来获取 JSON javascript 数组形式的文档。
db.foo.find().toArray()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
39679 次 |
| 最近记录: |