虚位以待(AD)
虚位以待(AD)
首页 > 数据库 > MongoDB数据库 > MongoDB3.2---存储过程

MongoDB3.2---存储过程
类别:MongoDB数据库   作者:码皇   来源:<a href="http://blog.csdn.net/jianlong727" target="_blank" rel="nofollow   点击:

MongoDB3 2---存储过程,关系型数据库中都有存储过程,那么Mongo中有没有呢?答案是肯定有的 MongoDB的存储过程存储在db system js集合中,可以重复调用 格式实例: db system js save( { _id: "echoFunction ", ---存储名称。

MongoDB3.2---存储过程,关系型数据库中都有存储过程,那么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()加载存储的方法,目前版本基本已经不用了(可以用但会有警告提示)

相关热词搜索: