javascript - 有没有办法将 'pretty' 打印 MongoDB shell 输出到文件?

标签 javascript mongodb shell

具体来说,我想将 mongodb find() 的结果打印到文件中。 JSON 对象太大,所以我无法以 shell 窗口大小查看整个对象。

最佳答案

shell 提供了一些不错但隐藏的功能,因为它是一个交互式环境。

当您通过 mongo commands.js 从 javascript 文件运行命令时,您不会得到完全相同的行为。

有两种解决方法。

(1) 伪造 shell ,让它认为你处于交互模式

$ mongo dbname << EOF > output.json
db.collection.find().pretty()
EOF


(2) 使用 Javascript 将 find() 的结果翻译成可打印的 JSON

mongo dbname command.js > output.json

command.js 包含这个(或其等价物):

printjson( db.collection.find().toArray() )

这将漂亮地打印结果数组,包括 [ ] - 如果您不希望这样,您可以遍历数组和 printjson() 每个元素。

顺便说一句,如果您只运行一个 Javascript 语句,则不必将其放入文件中,而是可以使用:

$ mongo --quiet dbname --eval 'printjson(db.collection.find().toArray())' > output.json

关于javascript - 有没有办法将 'pretty' 打印 MongoDB shell 输出到文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13104800/

相关文章:

javascript - 如何获得菜单的 Tololtip Tail

JavaScript 提交表单加上 map 区域的值?

node.js - 查询名字、姓氏作为全名

linux - 在 awk 中重置标志

javascript - React Native 导航子级父级

PHP/AJAX 检查 session 变量是否改变

java - Spring聚合框架: How to create nested $divide, $subtract,$mod查询?

List<T>.Count 上的 c# MongoDb 过滤器

linux - 无法通过脚本执行登录命令并设置DISPLAY变量

linux - 删除空格分隔路径的路径前缀