`
dlutqxq
  • 浏览: 19839 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

mongo数据库动态添加procedure(存储过程)

阅读更多

           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数据库所需驱动包

    metersphere连接mongo数据库所需驱动包

    Mongo数据库和Nginx容器的部署

    没下载积分了,传个文档挣下积分,Mongo数据库和Nginx容器的部署。

    mongo数据库注册服务和启动

    MongoDB 是一种开源的、文档型的、非关系型数据库(NoSQL),广泛应用于现代应用程序的数据存储与管理。它支持灵活的数据模式,能够高效处理大量数据,并且提供了丰富的查询语言。 #### 二、MongoDB 注册为系统服务...

    Mongo数据库

    NoSQL 数据库包括多种类型,如键值存储、文档型、列存储和图型数据库等。MongoDB 作为文档型数据库,特别适合存储 JSON 格式的数据。 MongoDB 的主要功能特性包括: 1. 面向集合存储,便于存储复杂的数据结构。 2. ...

    Mongo应用数据库连接

    在本文中,我们将深入探讨如何在Web项目中建立Mongo数据库连接,包括安装驱动包和进行实际的连接操作。 首先,MongoDB驱动是Web应用程序与数据库进行通信的桥梁。Java开发者通常会使用MongoDB的Java驱动,Python...

    Mongo数据库 java驱动

    Mongo数据库 java驱动

    springMvc配置mongo数据库

    配置完成后,我们需要创建MongoTemplate bean,它是Spring Data MongoDB的主要访问层,用于执行数据库操作。在XML配置中,可以这样设置: ```xml <bean id="mongoTemplate" class="org.springframework.data....

    mongo数据库图形管理工具robomongo支持SSL

    mongo数据库图形管理工具robomongo支持SSL,这个比mongoVUE好用太多,mongoVUE时不时就断开

    mongo 数据库

    其命令行工具(Mongo shell)也提供了交互式的接口,用于数据库管理、查询以及数据导入导出。 MongoDB 的另一个优势是其强大的聚合框架,能够进行复杂的数据分析和报告生成。通过管道操作,可以对数据进行过滤、...

    Mongo数据库转MySQL代码

    MongoDB和MySQL是两种广泛应用的关系型与非关系型数据库,它们在数据存储和查询上有显著差异。MongoDB作为NoSQL数据库,以文档型数据模型为主,而MySQL是经典的SQL数据库,采用表格形式存储数据。本例中,我们将讨论...

    mongo数据库可视化工具

    MongoDB是一种流行的开源文档型数据库,它以JSON格式存储数据,具有灵活性和高可扩展性。在处理MongoDB数据时,虽然命令行工具提供了一种直接的交互方式,但对许多用户来说,可视化工具提供了更加直观和友好的操作...

    mongo 数据库工具

    4. **文档管理**:MongoVUE提供了文档编辑器,可以查看、添加、修改和删除单个文档。其内置的JSON格式化功能有助于用户理解文档结构,同时支持数据验证,防止输入无效的数据。 5. **索引管理**:用户可以通过Mongo...

    mongo数据库初学使用库

    作为NoSQL数据库,它不采用传统的行式或列式存储,而是使用JSON格式的文档来存储数据,这使得MongoDB在处理复杂数据结构时特别灵活。 标题 "mongo数据库初学使用库" 暗示我们将探讨MongoDB的使用,特别是对于初学者...

    mongo数据库安装与配置

    本篇文章将详细介绍MongoDB的安装过程、配置方法,以及如何使用一个客户端工具MongoVUE来管理数据库。 ### 1. MongoDB的安装 MongoDB的安装在不同操作系统上略有不同。以下是在Windows、Linux和macOS上的基本步骤...

    Linux系统下Mongo数据库的快速部署.pdf

    Linux系统下Mongo数据库的快速部署.pdf

    Java使用POI将Mongo数据库数据导出到Excel文件 Demo以及jar包

    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

    congomongo, 面向mongo数据库api的Clojure包装器.zip

    congomongo, 面向mongo数据库api的Clojure包装器 CongoMongo 什么?一个使用MongoDB和Clojure的。CongoMongo 0.5.0后续不再支持 Clojure 1.3.0或者更早版本。 对于 Clojure 1.3.0,通过 0.4.8来使用 CongoM

    mongo数据库分享-张亚V1.pdf

    MongoDB是一种高性能、高可用性且易于扩展的开源NoSQL数据库系统,由C++编写而成,旨在提供可扩展的高性能数据存储解决方案。它采用了一种灵活的文档模型,让开发者可以使用各种数据格式存储数据,并且可以在任何...

    所有汉字的拼音Mongo数据库

    导入命令: mongo dbname --shell pyb.txt

Global site tag (gtag.js) - Google Analytics