0

これは宿題のためなので、本質的に解決策を提供するため、コードを投稿したくありません。一般的なスニペットを投稿できます。私はjavascriptとMongoの初心者であり、基本的に昨夜の数時間でそれらを学びました。

基本的に、シェルに貼り付けると完全に機能するコードがありますが、データベースに保存して実行しようとすると機能しません。これが基本的な例です。

db.system.js.save(
{
   _id: "istrue",
   value: function (x){ 
   if(x == true)
      print("true");
   else
      print("false");
   }
})

したがって、このコードをコピーして貼り付けてvar x = trueorvar x = false最初に設定すると機能しますが、これを行うと:

db.eval("istrue(true);");

それからそれは動作しません。

何か案は?

4

1 に答える 1

1

この動作に関するドキュメントは見つかりませんが、少しテストすると、コードが正常に実行されていることがわかりますが、ストアド関数が使用できないprintか、出力がprintstdout 以外の場所に出力されます。それらをreturn印刷する代わりに文字列を作成すると、期待どおりの結果が得られます。

出力は MongoDB ログに送られているのではないかと思いますが、インストール先がどこにあるのかわかりません。

于 2013-02-08T19:30:21.653 に答える