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
分享到:
相关推荐
1. **文档导向**:MongoDB存储BSON(二进制JSON)格式的文档,这些文档可以包含多种数据类型,如字符串、数字、数组、对象等,使得它在存储复杂数据结构时非常灵活。 2. **集合**:MongoDB中的文档被组织在集合...
window_mongodb执行过程个人笔记——不建议下载.txt Mongodb,分布式文档存储数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个高性能,开源,无模式的文档型数据库,是当前...
MongoDB 是一个基于分布式文件存储的 NoSQL 数据库,具有高性能、可扩展性强、易于使用等特点。下面将详细介绍 MongoDB 的安装过程。 一、下载安装程序 首先,需要从 MongoDB 官方网站下载安装程序。访问 ...
矢量数据录入是将矢量数据输入到MongoDB数据库的过程。矢量数据录入可以通过多种方式实现,包括手动输入、批量导入等。 五、Geoserver MongoDB插件 Geoserver MongoDB插件是Geoserver的一款插件,用于连接MongoDB...
在 Linux 环境下,配置和启动 MongoDB 需要遵循一定的步骤,本文将详细介绍在 Linux 下配置和启动 MongoDB 的过程。 第一步:设置 MongoDB 目录 在 Linux 下,首先需要设置 MongoDB 的目录,用于存储数据库文件和...
- 上述命令中指定了MongoDB的数据存储路径、日志文件路径、监听端口以及副本集名称等参数。 6. **配置防火墙**: - 如果您的服务器启用了防火墙,则需要将MongoDB监听的端口加入防火墙规则。例如,可以使用如下...
Centos7下安装MongoDB是指在Centos7操作系统中安装和配置MongoDB数据库的过程。MongoDB是一个基于分布式文件存储的NoSQL数据库,由C++语言编写,运行稳定,性能高旨在为 WEB 应用提供可扩展的高性能数据存储解决方案...
MongoDB 是一款流行的开源NoSQL数据库,以非关系型数据存储为核心,提供高性能、高可用性和可扩展性。MongoDB 使用类似于JSON的BSON(Binary JSON)格式存储数据,支持丰富的查询语言,具备强大的索引功能,适用于...
mongocrypt.dll 是 MongoDB 客户端加密库,用于自动加密和解密 MongoDB 数据库中的数据,确保数据在传输和存储过程中的安全性。 snappy64.dll 和 snappy32.dll 是 Snappy 压缩库的不同架构版本,Snappy 是 Google ...
BSON允许MongoDB存储如整数、浮点数、布尔值、字符串、日期、时间和复杂的数组和文档结构。MongoDB的每个数据库包含多个集合(Collections),每个集合包含多个文档(Documents),这些文档相当于关系型数据库中的行...
9. GridFS:当单个文档大小超过16MB时,MongoDB使用GridFS来存储大文件,将它们分割成多个小块进行存储。 10. 应用开发:讨论如何在Java或其他编程语言中使用MongoDB的驱动程序进行应用开发,包括连接数据库、执行...
MongoDB是一种分布式文档数据库,常用于处理和存储结构化与半结构化的数据。在企业级应用中,BOM(Bill of Materials)表是至关重要的,它详细记录了产品构成的各个组件及其层次关系。BOM转换是在不同业务场景下,...
默认情况下,MongoDB会安装在`C:\Program Files\MongoDB`目录下,并创建一个数据存储目录`data\db`。 2. **配置MongoDB** - 配置文件:MongoDB的配置文件是`mongod.cfg`,通常位于`C:\Program Files\MongoDB\...
1. **文档数据库**:MongoDB存储数据以JSON(JavaScript Object Notation)格式的文档形式,这使得数据结构灵活,可以方便地存储复杂的数据类型如数组和嵌套对象。 2. **集合和数据库**:在MongoDB中,数据存储在...
下面将详细介绍MongoDB的基本概念、安装过程以及一些关键操作。 首先,MongoDB是一种文档数据库,它存储数据的方式是键值对,这些键值对组合成文档,而文档则组成集合。相比于传统的行式数据库,MongoDB更加适合...
MongoDB 副本集搭建是 MongoDB 的高可用性解决方案之一,它可以提供数据的冗余存储和自动故障转移,确保数据的高可用性和可靠性。下面将详细介绍 MongoDB 副本集搭建的步骤和过程。 一、安装环境 在开始搭建 ...
本文将详细讲解MongoDB 4.4.6版本的安装过程,适用于Windows和CentOS 7.0操作系统。 首先,我们来看MongoDB 4.4.6版本的主要特性: 1. **新功能增强**:MongoDB 4.4引入了多项新功能,如聚合框架的性能提升、新的...
MongoDB使用了一种叫做BSON(类似于JSON)的格式来存储数据,它的数据模型与传统的关系型数据库有所不同,更贴近于应用程序的数据结构,这使得它在处理大量数据以及快速迭代的开发环境中表现尤为突出。 本书...
MongoDB是一款高性能、无模式的分布式文档型数据库,被广泛应用于大数据存储、实时分析和互联网应用等领域。在Linux 64位系统上安装MongoDB,是很多开发人员和系统管理员的常见需求。以下是对"mongodb linux 64位...