获取Mongo shell脚本的输出

7
作为我的MongoDB维护的一部分,我正在运行Mongo shell并使其加载2个脚本。我运行的命令如下所示:
`$MONGO_HOME/bin/mongo --verbose --port 27017 replSetConfig.js initializeReplicaSet.js`
我得到的输出是:
MongoDB shell version: 2.2.3
Thu Mar  7 03:00:00 versionCmpTest passed
Thu Mar  7 03:00:00 versionArrayTest passed connecting to: 127.0.0.1:27017/test
Thu Mar  7 03:00:01 creating new connection to:127.0.0.1:27017
Thu Mar  7 03:00:01 BackgroundJob starting: ConnectBG
Thu Mar  7 03:00:01 connected connection!
loading file: js/replSet.config.js
loading file: js/initializeReplicaSet.js

我将输出重定向到日志文件,但我也想看到加载的脚本的一些输出。也就是说,如果我启动shell并为完全相同的脚本调用load("...")时在shell中看到的输出。有没有办法捕获输出?
谢谢。

1
我猜我没有理解问题。但是我在mongoscript文件中使用printjson()进行日志记录。 - Venkat Kotra
看起来这将是我最终的选择...它适用于某些情况,但我不知道如何记录我在脚本中调用的rs.intitate()命令...?这就是我在脚本中调用的内容,我不知道如何获取结果。我可以在命令之后记录rs.status(),但它不会告诉我失败的原因(如果失败了)。 - Jan Zyka
1
要获取脚本的输出,必须指定print()或printjson()语句,否则MongoDB将保持沉默。 - Sammaye
1个回答

13
要添加脚本输出,必须使用print()printjson()语句,否则MongoDB将对脚本的任何输出保持沉默。

哈,我发现你实际上可以这样做:printjson(rs.initiate(config)); 这就是我一直在寻找的。 - Jan Zyka
你帮我省去了很多麻烦!谢谢! - thermz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接