mongo DB
同样支持存储过程,和别的一些数据库的不同的是
mongo
的
procedure
是以
javascript
形式存储在内部一个叫
system.js
的
collection
里的。可以使用
mongo
的
JDBC
驱动中的
API
对
procedure
进行动态的添加。
下面为代码demo:
Mongo mongo =
new
Mongo(
"10.232.31.46"
,27015);
DB db = mongo.getDB(
"dbName"
);
if
(
"username"
!=
null
) {
boolean
auth = db.authenticate(
"username"
,
"password"
==
null
?
new
char
[0] :
"password"
.toCharArray());
if
(!auth) {
throw
new
MongoException(
"authenticate
failed!"
);
}
}
//
获取存储
procedure
的
collection
DBCollection coll = db.getCollection(
"system.js"
);
BasicDBObject dbObject =
new
BasicDBObject();
dbObject.put(
"_id"
,
"addNumbers"
);
//procedure
的具体内容不能使用
string
类型存入,需要使用
driver
中定义的
code
类型
dbObject.put(
"value"
,
new
Code(
"function(x,
y){ return x + y; }"
));
//
将存储过程动态的添加到该集合中
coll.save(dbObject);
添加进去即可在进行查询等的时候调用
procedure
。如输入
{"$where":"addNumbers(a,1)==4"}
也可使用
db
的
eval()
方法直接测试调用
procedure
。如
db.eval("function(x,
y){ return x + y; }", 3,4);
另:
我觉得也
可以使用
DB
中的
command()
方法,可以直接执行命令行里的命令,感觉也可以通过这种方法添加
procedure
。
上面是最近做项目需要用到自定义动态添加mongoDB的procedure,感觉可能还有许多错误的地方,以后深入了解了过后再校正。
分享到:
相关推荐
metersphere连接mongo数据库所需驱动包
实现将mongo数据库注册成系统服务同时设置自动启动命令。
没下载积分了,传个文档挣下积分,Mongo数据库和Nginx容器的部署。
mongo 数据库
Mongo数据库的安装,MongoDB学习笔记(一) MongoDB介绍及安装.docx
详细介绍 Web项目Mongo数据库连接 内加驱动包 超值下载
mongo数据库
本例实现了将Mongo数据库中的集合转换成MySQL中的单条记录,使用java语言实现
MongoVUE mongo 数据库 工具
Mongo数据库 java驱动
mongo 数据库 mac 安装包, 不需要homebrew,下载就可以
mongo数据库图形管理工具robomongo支持SSL,这个比mongoVUE好用太多,mongoVUE时不时就断开
python scrapy爬虫、 以及爬取后存储到mysql和mongo数据库中
Linux系统下Mongo数据库的快速部署.pdf
qt实现登录注册 页面反复调 和mongo数据库做对比
公司 MONGO 开发规范
可以参考下,项目实战用到的!分享帮助你,也帮助了我!欢迎补充!
Java使用POI将Mongo数据库数据导出到Excel文件;包含java 测试文件和各种jar包 ,bson-3.4.2.jar ,mongodb-driver-3.4.2.jar,mongodb-driver-core-3.4.2.jar,poi-3.9-20121203.jar
MongoDB可视化工具,可以在可视化界面下对MongoDB进行增删改查,傻瓜式安装,交互性强