Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MongoDB Shell脚本和JavaScript之间的区别?_Javascript_Node.js_Mongodb_Mongo Shell - Fatal编程技术网

MongoDB Shell脚本和JavaScript之间的区别?

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)

由于这是一个家庭作业,我不想发布我的代码,因为它本质上给出了一个解决方案。我可以发布一些通用的代码片段。首先,我要说的是,我对javascript和Mongo还不熟悉,昨晚几个小时就基本上学会了

基本上,我有一些代码,当我粘贴到shell中时,它可以完美地工作,但是当我将其保存到数据库中并尝试执行时,它就不起作用了。这是一个基本的例子

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。请永远不要把它添加到新问题中。好吧,这很糟糕,因为在我的实际代码中,我有一堆打印语句。我想我已经声明了一个字符串并多次附加它。