MongoDB Shell脚本和JavaScript之间的区别?
由于这是一个家庭作业,我不想发布我的代码,因为它本质上给出了一个解决方案。我可以发布一些通用的代码片段。首先,我要说的是,我对javascript和Mongo还不熟悉,昨晚几个小时就基本上学会了 基本上,我有一些代码,当我粘贴到shell中时,它可以完美地工作,但是当我将其保存到数据库中并尝试执行时,它就不起作用了。这是一个基本的例子MongoDB Shell脚本和JavaScript之间的区别?,javascript,node.js,mongodb,mongo-shell,Javascript,Node.js,Mongodb,Mongo Shell,由于这是一个家庭作业,我不想发布我的代码,因为它本质上给出了一个解决方案。我可以发布一些通用的代码片段。首先,我要说的是,我对javascript和Mongo还不熟悉,昨晚几个小时就基本上学会了 基本上,我有一些代码,当我粘贴到shell中时,它可以完美地工作,但是当我将其保存到数据库中并尝试执行时,它就不起作用了。这是一个基本的例子 db.system.js.save( { _id: "istrue", value: function (x){ if(x == true)
db.system.js.save(
{
_id: "istrue",
value: function (x){
if(x == true)
print("true");
else
print("false");
}
})
因此,如果我复制并粘贴此代码,并首先设置var x=true
或var x=false
,则它会工作,但如果我这样做:
db.eval("istrue(true);");
那就不行了
有什么想法吗?我找不到任何关于这种行为的文档,但是一点测试表明您的代码运行得很好,但是存储函数不能使用
print
,或者print
的输出不是stdout。如果返回
字符串而不是打印它们,您将看到预期结果
我怀疑输出将进入MongoDB日志,但我不确定我的安装将它们放在哪里。您是否收到任何错误?如果是,它们是什么?@icanc:请阅读家庭作业标签wiki。请永远不要把它添加到新问题中。好吧,这很糟糕,因为在我的实际代码中,我有一堆打印语句。我想我已经声明了一个字符串并多次附加它。