服务器端脚本

在服务器端能够经过db.eval函数来执行javascript脚本。javascript

也能够将javascript保存在数据库中,而后在别的数据库中调用。java

  • db.eval

利用db.eval能够在MongoDB的服务器端执行任意的Javascript脚本。数据库

这个函数能够将给定的javascript字符串传送给MongoDB(在这里执行),而后返回结果。数组

发送代码有两种选择,或者封装进一个函数,或者不封装。如下两者等价。服务器

db.eval("return 1;")函数

db.eval("function(){return 1;}")spa

只有在传递参数的时候,才必需要封装成函数。ip

参数经过eval的第二个参数传递,要写成一个数组的形式。字符串

如,db.eval("function(u){print("Hello",+u+"!");}",[username])io

db.eval("function(x,y,x){return x+y+z;}",[num1,num2,num3])

  • 存储javascript 

每一个MongoDB的数据库中都有个特殊的集合,叫作system.js。用来存放Javascript变量。

这些变量能够在任何MongoDB的javascript上下文中调用。

用insert 就能够将变量加入到system.js中。

如,db.system.js.insert({"_id":"x","value":1})

db.system.js.insert({"_id":"y","value":2})

db.system.js.insert({"_id":"z","value":3})

如今对其求和,

db.eval("return x+y+z;")

6

相关文章
相关标签/搜索