0

我正在运行以下命令,我想在我的 out.log 文件中查看输出,但它没有打印任何内容。

   /tmp/mongodb/bin/mongo mydatabase_name /tmp/mongodb/scripts/test.js >> out.log

这些是我的 test.js 中的内容

db.system.js.save (
{   _id:"run_job",
    value: function() {

    console.log("in function");
    print("in function>>");
    db.myUser.find().forEach(
    function(eachuser){
        console.log("eachuser id" + eachuser._id);
        var lower_id = eachuser._id.toLowerCase();
        console.log("Lowercase id" + lower_id);
    });     
    }
}
 );

它给出错误:调用失败:JS 错误:未定义控制台。所以它删除了console.log。但它仍然不使用打印功能打印。谢谢。

4

1 回答 1

1

consoleMongoDB shell中没有定义对象。

您需要使用全局可用的printprintjson函数。

print("Hi! I'm in your log!");

打印的任何内容都将发送到当前日志文件。如果您的 mongo 配置中没有定义日志文件,那么它将被发送到屏幕/标准输出,这将允许您根据需要将结果通过管道传输到文件(或者您可能只想使用生成的日志文件MongoDB)。

如果你有一堆你正在使用的代码,你可以构建一个通过andconsole.log重定向输出的 polyfill 。printprintjson

于 2013-07-09T22:22:50.747 回答