问题描述
我正在使用当前的 mongosh
工具来运行 Mongo 查询,这些查询可能会返回非常大的结果集,而这些结果集可能不适合命令提示符的缓冲区(即使这样,手动复制这些结果也会耗时且容易出错)。因此,我希望能够:
- 将
mongosh
的输出通过管道传输到文本文件,并且 - 还传入一个 Mongo 脚本或查询以从命令行运行
这是我当前正在运行的命令(隐藏了详细信息):
mongosh "mongodb://10.20.30.40:26017" --username my_username --password my_password
--authenticationDatabase my_database > output.txt
这是我在 output.txt
中看到的当前输出:
Current sessionID: 1ee96e0f6025ec328ea25ccc
Connecting to: mongodb://10.20.30.40:26017
Using MongoDB: 3.4.13
Using Mongosh Beta: 0.0.6
For more information about mongosh,please see our docs: https://docs.mongodb.com/mongodb-shell/
[1G[0J> [3G
所以看起来重定向到输出文件是有效的。但是,我似乎无法弄清楚如何通过对命令行工具的实际查询来指定 Mongo 脚本。例如,如果我想指定以下简单的计数查询,我该怎么做?
db.getCollection('my_collection').count();
理想情况下,我希望 output.txt
只包含一行包含此集合中的计数。
较早的 mongo
命令行工具似乎在查询中有多种管道方式,例如通过指定脚本或使用 --eval
选项。 documentation for mongosh 声称此工具处于 Beta 模式并支持 mongo
功能的某些子集。它是否支持传递查询的能力?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)