`
chenzhou123520
  • 浏览: 4249897 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Mongodb存储过程

阅读更多

Mongodb支持存储过程的使用,存储过程可以接收和输出参数,返回执行存储过程的状态值,也可以嵌套调用。Mongodb的存储过程是使用Javascript编写,并存储在db.system.js表中。我们可以自定义存储过程,然后存入该集合中,具体示例如下:

> db.system.js.save({_id:"addNumbers",value:function(x,y){return x+y;}});

如上面所示:db.system.js.save命令接收2个参数,_id代表存储过程的名字,value代表存储过程的定义。

我们可以对存储过程进行查询、修改和删除,查询使用find()命令:

> db.system.js.find()
{ "_id" : "addNumbers", "value" : function cf__2__f_(x, y) {
    return x + y;
} }

在mongodb中,如果需要执行存储过程,则需要使用db.evel('procedureName(param1,param2,……)');  命令,示例如下:

> db.eval('addNumbers(4,15)');
19
> 

除了这种方式之外,我们还可以直接把存储过程的逻辑放在db.eval()参数中直接调用,无需事先声明存储过程的逻辑,如下所示:

示例1:执行存储过程查询posts集合中的文档数目

> db.eval(function(){return db.posts.count();});
6

示例2:把存储过程本身当做参数传递给db.eval()命令

> db.eval(function(x,y) { return addNumbers(x, y); }, 17, 25)
42
关于db.eval()命令详情,参见:http://www.mongodb.org/display/DOCS/Server-side+Code+Execution 

 

分享到:
评论

相关推荐

    window_mongodb执行过程个人笔记——不建议下载.txt

    window_mongodb执行过程个人笔记——不建议下载.txt Mongodb,分布式文档存储数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个高性能,开源,无模式的文档型数据库,是当前...

    如何利用MongoDB存储Docker日志详解

    Docker提供了多种插件方式管理日志,本文就对使用MongoDB存储Docker日志的过程做个记录。 数据流 Docker产生的日期 发送到 FluentD,然后FluentD在转存到MongoDB。 配置Fluentd 前提:操作系统是CentOS7,已安装...

    MongoDB基本操作指南

    在使用MongoDB做产品原型的过程中,我们总结了MonogDB的一些亮点:使用JSON风格语法,易于掌握和理解:MongoDB使用JSON的变种BSON作为内部存储的格式和语法。针对MongoDB的操作都使用JSON风格语法,客户端提交或接收...

    MongoDB安装配置过程

    MongoDB的安装配置,已试过正确,安装好后可以直接存储图片、文档等

    Mongodb最佳实践

    4.索引创建,游标、存储过程使用 5.聚合运算,支持Group,Aggregation, MapReduce 的统计和集合 6.全文检索和地理位置信息检索使用 7.主从复制搭建 8.sharding分片集群 9.数据库监控和profiling使用 通过这些学习对...

    MongoDB C#实例

    MongoDB C#实例,采用最新mongodb的c#驱动1.8。

    MongoDB_命令.docx 命令集合

    MongoDB内置的水平扩展机制提供了从百万到十亿级别的数据量处理能力,完全可以满足Web2.0和移动互联网的数据存储需求,其开箱即用的特性也大大降低了中小型网站的运维成本。对于创业团队,我建议选择MongoDB

    windows下mongodb的安装

    MongoDB是python中一种常用的非关系型数据库,我们可以用它来存储一些数据,这里是它的安装的详细过程

    深入云计算 MongoDB管理与开发实战详解pdf.part1

    4.6 存储过程 4.7 本章小结 第5章 Capped集合 5.1 特性 5.2 使用和约束 5.3 应用 5.3.1 创建 capped collection 5.3.2 限制capped collection中对象个数 5.4 注意事项 5.5 本章小结 第6章 ...

    网络爬虫+MongoDB库

    MongoDB数据库:它是一种NoSQL...阅读建议: 此资源以开发简化版 MongoDB 学习其原理和内核,不仅是代码编写实现也更注重内容上的需求分析和方案设计,所以在学习的过程要结合这些内容一起来实践,并调试对应的代码。

    基于mongodb存储的军事领域知识图谱.zip

    知识图谱是一种结构化的知识表达形式,它以图形的方式组织和存储了大量实体(如人、地点、事件等)及其相互关系。在知识图谱中,实体作为节点,实体之间的各种语义关联则通过边进行连接,形成了一个庞大的数据网络。...

    mongodb分片.pdf

    分片(sharding)是指将数据拆分,将其分散存在不同的机器上的过程。有时也用分区(partitioning)来表示这个概念。将数据分散到不同的机器上,不需要功能强大的大型计算机就可以储存更多的数据,处理更多的负载。

    MongoDB数据库设计.pptx

    由于每个mongodb的文档有16M的大小限制,所以即使你是存储ObjectID也是不够的。我们可以使用很经典的处理方法"父级引用"---用一个文档存储主机,在每个日志文档中保存这个主机的ObjectID。 MongoDB数据库设计全文共...

    MongoDB基础命令以及操作示例详解

    Mongodb是一个非关系型数据库软件(NoSql),以类似json的形式bson存储数据,bson有二进制的json的意思,官方说bson的效率更高,很适合存储类似于对象的数据,这里权当把自己学习的过程记录下来。 关于MongoDB的安装方法给...

    深入云计算 MongoDB管理与开发实战详解pdf.part2

    4.6 存储过程 4.7 本章小结 第5章 Capped集合 5.1 特性 5.2 使用和约束 5.3 应用 5.3.1 创建 capped collection 5.3.2 限制capped collection中对象个数 5.4 注意事项 5.5 本章小结 第6章 ...

    mongodb 2.6 升级 4.0 数据备份迁移

    自行查询相关安装配置,可参考:图文详解Linux系统安装MongoDB4.0过程 3. 数据备份恢复 数据备份: (1)整库备份:mongodump -h {ip} –port 27017 -d {testdb} -o /data/temp 说明:-h 后为数据库所在服务器; –...

    10分钟数据API-mongodb-stitch:使用MongoDB Stitch在10分钟内创建数据API

    该存储库附带一个视频,该视频介绍了使用MongoDB Stitch创建数据终结点API的过程。 在查看随附的视频。 文章 说明如何在10分钟(或更少)内创建API 要求 如果要继续学习,则需要满足以下条件: 免费的帐户。 -...

    Python使用mongodb保存爬取豆瓣电影的数据过程解析

    设置items.py文件,存储要保存的数据类型和字段名称 # -*- coding: utf-8 -*- import scrapy class DoubanItem(scrapy.Item): title = scrapy.Field() # 内容 content = scrapy.Field() # 评分 rating_num = ...

    mongodb-runrs:仅使用一个命令即可运行MongoDB复制集以进行学习和开发

    介绍设置MongoDB副本集是一个复杂的过程,需要进行许多配置。 使用mongodb-runrs,您现在可以调用单个命令以在不到60秒的时间内设置N成员副本集。 可以设计副本集,使其不会干扰您可能拥有的任何现有mongod进程。...

    MongoDB分片详解

    分片是指将数据拆分,将其分散存在不同机器上的过程.有时也叫分区.将数据分散在不同的机器上,不需要功能 强大的大型计算机就可以存储更多的数据,处理更大的负载. 使用几乎所有数据库软件都能进行手动分片,应用需要...

Global site tag (gtag.js) - Google Analytics