在服务器端能够经过db.eval函数来执行javascript脚本。javascript
也能够将javascript保存在数据库中,而后在别的数据库中调用。java
利用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])
每一个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