【问题标题】:Differences between MongoDB Shell Scripting and JavaScript?MongoDB Shell 脚本和 JavaScript 的区别?
【发布时间】:2013-02-08 19:15:35
【问题描述】:

由于这是一个家庭作业,我不想发布我的代码,因为它本质上提供了一个解决方案。我可以发布一些通用的 sn-ps。我将首先说我是 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);");

那就不行了。

有什么想法吗?

【问题讨论】:

  • 您是否遇到任何错误?如果有,它们是什么?
  • @icanc:请阅读作业标签维基。请不要将其添加到新问题中。

标签: javascript node.js mongodb mongo-shell


【解决方案1】:

我找不到有关此行为的任何文档,但一些测试表明您的代码运行良好,但是存储的函数不能使用 print 或 print 的输出到 stdout 以外的其他地方.如果你return 字符串而不是打印它们,你会看到你所期望的。

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

【讨论】:

  • 好的,这很糟糕,因为在我的实际代码中,我有一堆打印语句。我想我已经声明了一个字符串并附加了很多次。
猜你喜欢
  • 1970-01-01
  • 2015-11-07
  • 2011-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-07
  • 2021-05-20
相关资源
最近更新 更多