Mongojs打印和console.log无法正常工作

时间:2013-07-09 17:40:15

标签: javascript mongodb mongojs

我正在运行以下命令,我希望在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。但它仍然无法使用打印功能进行打印。 谢谢。

1 个答案:

答案 0 :(得分:1)

MongoDB shell中没有定义console个对象。

您需要使用全球可用的printprintjson功能。

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

打印的任何内容都将发送到当前日志文件。如果您的mongo配置中没有定义日志文件,那么它将被发送到screen / stdout,这样您就可以根据需要将结果通过管道传输到文件中(或者您可能只想使用由MongoDB的)。

如果您使用的代码为console.log,则可以构建一个通过printprintjson重定向输出的polyfill。