2013-02-08 74 views
0

由于这是一项家庭作业,我不想发布我的代码,因为它本质上给出了一个解决方案。我可以发布一些通用片段。我将首先说我是javascript和Mongo的新手,并且在昨晚的几个小时内基本学会了他们。MongoDB Shell脚本与JavaScript之间的区别?

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

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

所以,如果我复制并粘贴此代码,并设置var x = truevar x = false第一,然后它工作,但如果我这样做:

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

然后它不工作。

任何想法?

+0

您是否收到任何错误?如果是这样,他们是什么? – 2013-02-08 19:23:24

+0

@icanc:请阅读作业标签wiki。千万不要把它添加到新的问题,请。 – Mat 2013-02-09 07:22:42

回答

1

我找不到有关此行为的任何文档,但是一些测试显示您的代码运行得很好,但是存储的任何函数都不能使用print,或者print的输出转到标准输出以外的地方。如果你使用字符串而不是打印它们,你会看到你期望的。

我怀疑输出是去MongoDB日志,但我不知道我的安装把它们放在哪里。

+0

好吧,这很糟糕,因为在我的实际代码中,我有一堆打印语句。我想我已经声明了一个字符串并追加了很多次。 – dspiegs 2013-02-08 19:37:33

相关问题