首页 > 学院 > 开发设计 > 正文

MongoDB3.2 ---存储过程

2019-11-08 20:44:01
字体:
来源:转载
供稿:网友
关系型数据库中都有存储过程,那么Mongo中有没有呢?答案是肯定有的MongoDB的存储过程存储在db.system.js集合中,可以重复调用格式实例:     db.system.js.save(  {    _id: "echoFunction",          ---存储名称,在每个database中是唯一的    value : function(x) { return x; }     ---value后的值是存储的定义,x是可接受的参数  })db.system.js.save(  {    _id : "myAddFunction" ,    value : function (x, y){ return x + y; }     ---接受参数可以是多个  });存储过程可以被查看,修改和删除(使用方法与collection的方法一样)查看:>db.system.js.find(){ "_id" : "echoFunction", "value" : function (x){return x;} }{ "_id" : "myaddFunction", "value" : function (x,y){return x + y;} }修改:> db.system.js.update({_id:'myaddFunction'},{$set:{value:function (x,y){return x*y;}}})     WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })执行存储过程在mongo shell中可以使用 db.loadServerScripts()  加载当前数据库下system.js中的所有存储过程,一旦加载之后,就可以直接调用存储使用测试:>db.loadServerScripts()> myaddFunction(2,3)6当然存储过程也可以实现非常负责的流程运算,这就需要你把value后面的值填充的更加丰满了注:之前版本使用db.eval()加载存储的方法,目前版本基本已经不用了(可以用但会有警告提示)
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表