将 mongosh MongoDB Shell 的输出管道输出到输出文件 (Windows)

问题描述

我正在使用当前的 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 (将#修改为@)