蒙戈 --安静不抑制 --评估输出

Mongo --quiet Not Suppressing --eval output

本文关键字:评估 输出 安静 蒙戈      更新时间:2023-09-26

我正在编写这个脚本,它接受t并在test中使用它.js。我将通过电子邮件将输出发送给我和我的同事。

% mongo my_db --eval 't=9999;' --quiet test.js
9999
------------------------------------------------
Info about stuff going back 9999 days to 2012-08-17.
------------------------------------------------
Stuff x: 433321 (12.43%)
Stuff y: 2723426 (81.57%)
Total: 4524524524

有没有办法不将我传递给 --eval 的内容输出到控制台,这样我就不会在结果顶部悬挂那个悬而未决的"9999"?

编辑:这可能是--quiet选项的错误

看:https://jira.mongodb.org/browse/SERVER-4391

有点

黑客,但在该错误得到修复之前,您可以先通过管道连接到tail +2,这将排除您不想要的输出,例如:

% mongo my_db --eval 't=9999;' --quiet test.js | tail +2 

这在快速测试中对我有用,以省略 9999 行。

以防万一有人在这个问题上绊倒了。我遇到了同样的问题,并得到了一个答案,可以在没有外壳魔法的情况下解决问题:

在 shell 脚本中使用来自 mongodb 的结果

我意识到已经有一段时间了。发布解决方案,希望它可以帮助陷入困境的人。

命令前面加上 void 通常会使输出静音。

例如,尝试:

$ mongo <server>/db script.js --eval 'void (yyyymm="2011-11")'

(注意:括号很重要)