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 シェルで定義されたオブジェクトはありません。

グローバルに利用可能なprintおよび関数を使用する必要があります。printjson

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

印刷されたものはすべて、現在のログ ファイルに出力されます。mongo 構成でログ ファイルが定義されていない場合は、画面/stdout に出力されます。これにより、必要に応じて結果をファイルにパイプすることができます (または、によって生成されたログ ファイルを使用することもできます)。 MongoDB)。

を使用していたコードが大量にある場合は、およびconsole.logを介して出力をリダイレクトするポリフィルを作成できます。printprintjson

于 2013-07-09T22:22:50.747 に答える