0

由于这是一个家庭作业,我不想发布我的代码,因为它本质上提供了一个解决方案。我可以发布一些通用的片段。我将首先说我是 javascript 和 Mongo 的新手,并且基本上在昨晚几个小时内就学会了它们。

基本上我有代码,当我粘贴到 shell 中时,它工作得很好,但是当我将它保存到数据库中并尝试执行它时它不起作用。这是一个基本的例子。

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或输出print到 stdout 以外的其他地方。如果你使用return字符串而不是打印它们,你会看到你所期望的。

我怀疑输出将发送到 MongoDB 日志,但我不确定我的安装将它们放在哪里。

于 2013-02-08T19:30:21.653 回答