`
cakin24
  • 浏览: 1388601 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

MongoDB 管道的概念

阅读更多
一 介绍
管道在Unix和Linux中一般用于将当前命令的输出结果作为下一个命令的参数。
MongoDB的聚合管道将MongoDB文档在一个管道处理完毕后将结果传递给下一个管道处理。管道操作是可以重复的。
表达式:处理输入文档并输出。表达式是无状态的,只能用于计算当前聚合管道的文档,不能处理其它的文档。
这里我们介绍一下聚合框架中常用的几个操作:
$project:修改输入文档的结构。可以用来重命名、增加或删除域,也可以用于创建计算结果以及嵌套文档。
$match:用于过滤数据,只输出符合条件的文档。$match使用MongoDB的标准查询操作。
$limit:用来限制MongoDB聚合管道返回的文档数。
$skip:在聚合管道中跳过指定数量的文档,并返回余下的文档。
$unwind:将文档中的某一个数组类型字段拆分成多条,每条包含数组中的一个值。
$group:将集合中的文档分组,可用于统计结果。
$sort:将输入文档排序后输出。
$geoNear:输出接近某一地理位置的有序文档。
 
二 管道操作符实例
1、$project实例
  1. db.article.aggregate(
  2. { $project : {
  3. title : 1 ,
  4. author : 1 ,
  5. }}
  6. );
这样的话结果中就只还有_id,tilte和author三个字段了,默认情况下_id字段是被包含的,如果要想不包含_id话可以这样:
  1. db.article.aggregate(
  2. { $project : {
  3. _id : 0 ,
  4. title : 1 ,
  5. author : 1
  6. }});
2.$match实例
  1. db.articles.aggregate( [
  2. { $match : { score : { $gt : 70, $lte : 90 } } },
  3. { $group: { _id: null, count: { $sum: 1 } } }
  4. ] );
$match用于获取分数大于70小于或等于90记录,然后将符合条件的记录送到下一阶段$group管道操作符进行处理。
3.$skip实例
  1. db.article.aggregate(
  2. { $skip : 5 });
经过$skip管道操作符处理后,前五个文档被"过滤"掉。
分享到:
评论

相关推荐

    MongoDB管道的概念.pdf

    首先,聚合管道是MongoDB聚合框架的核心概念,它的工作原理类似于数据处理流水线。每个管道阶段接收一组文档,执行特定的操作,然后传递给下一个阶段,直到所有阶段都完成处理。文档可以在管道中经过多次处理,这...

    MongoDB 聚合管道(Aggregation Pipeline)

    首先,从概念上理解,MongoDB的聚合管道可以类比为一个数据处理的“流水线”,每个阶段(Stage)可以看作是流水线上的一个节点,文档会按顺序地通过这些节点进行处理。在每个阶段,可以执行不同的操作,如过滤...

    MongoDB 管道的介绍及操作符实例

    MongoDB 的聚合框架通过管道来实现数据的过滤、转换和分析,类似于Unix和Linux系统中的管道概念,即一个管道处理完文档后将结果传递给下一个管道继续处理。 在MongoDB中,管道操作符允许用户执行一系列复杂的文档...

    mongodb-测试数据

    在深入探讨MongoDB的测试数据之前,我们先来了解一下MongoDB的基本概念。MongoDB使用JSON格式的文档(BSON)作为其数据存储单位,这种格式易于理解和处理,尤其适合处理结构松散或半结构化数据。数据库由集合组成,...

    MongoDB参考手册.zip_MongoDB_T6U_mongodb中文手册

    手册首先会介绍MongoDB的基本概念,包括文档(Documents)、集合(Collections)、数据库(Databases)以及其非关系型数据模型。文档是MongoDB中的基本数据结构,类似于JSON对象,由键值对组成。集合是文档的集合,...

    mongodb3.2.4说明文档

    虽然 Map-Reduce 在某些场景下仍然有用,但 MongoDB 推荐使用聚合管道进行数据分析,因为它提供了更高级的功能和更好的性能。 **7.3 单目的聚合操作** 部分聚合操作专门用于解决特定的问题,例如统计集合中的文档...

    MongoDB最新版3.4.10

    在使用MongoDB时,还需要了解其基本概念,如集合(collections)、文档(documents)、数据库(databases)以及聚合管道等。同时,熟悉MongoDB的shell命令行工具,如创建、查询、更新和删除数据的操作,以及数据备份...

    Mongodb视频-燕十八 mongodb视频教程全集21讲+mongodb高级实战开发视频教程

    - 聚合管道的概念及工作流程。 - `$match`、`$group`、`$sort`等常用聚合阶段的操作。 - 实现复杂统计分析的案例演示。 **第6讲:复制集** - 复制集的配置过程。 - 主从模式、仲裁节点的角色及作用。 - 故障转移...

    Java开发面试-MongoDB专区

    在面试中,面试官可能会问到MongoDB的基本概念和特点,例如文档、集合、数据库、索引等,以及与传统关系型数据库的区别和优势。其次,对于Java开发者来说,熟悉MongoDB的Java驱动程序也是必要的。在面试中,可能会...

    Spring Data MongoDB中文文档

    - **Spring Data MongoDB** 支持 MongoDB 的聚合框架,可以使用 `Aggregation` 和 `AggregationOperation` 来构建复杂的聚合管道。 - 聚合框架支持多种操作,包括但不限于 `$match`, `$group`, `$sort`, `$project` ...

    MongoDB期末考试测试题

    这份期末考试测试题旨在帮助学生巩固MongoDB的相关知识,包括数据库管理、数据操作、查询语法、索引优化等核心概念。 1. 数据库创建与数据插入: 在MongoDB中,可以使用`use`命令切换到特定的数据库,如`xsgl`,...

    mongodb安装配置及java操作mongodb

    MongoDB的核心概念包括集合(类似关系数据库的表)、文档(JSON格式的数据对象)、数据库和命令行工具。学习如何使用`mongo` shell来执行查询、插入、更新和删除操作是理解MongoDB工作原理的关键。 然后,《Mongodb...

    spring mongodb 中文文档

    这篇文档将深入探讨Spring Data MongoDB 的核心概念和用法。 1. **MongoDB 简介** MongoDB 是一个NoSQL 数据库,使用JSON 样式的文档存储数据,适合处理大规模数据。其特点包括高可用性、可扩展性和灵活性。 2. *...

    mongodb实战中文pdf

    1. **MongoDB基础**:MongoDB的基本概念,如文档、集合、数据库,以及如何安装和配置MongoDB服务器。 2. **CRUD操作**:Create(创建)、Read(读取)、Update(更新)和Delete(删除)是数据库操作的基础。在...

    收集的Mongodb资料

    1. MongoDB基础:介绍MongoDB的基本概念,如文档、集合、数据库以及安装和配置过程。 2. CRUD操作:详细解释创建(Create)、读取(Read)、更新(Update)和删除(Delete)数据的方法。 3. 查询语言:讲解MongoDB的...

    MongoDB基础教学文档

    MongoDB是一个广泛使用的开源数据库系统,特别适合处理大量结构化和半结构...总的来说,MongoDB的基础教学文档将引导你深入理解这个强大的数据库系统,掌握其核心概念和操作,从而能够熟练地在实际项目中应用MongoDB。

    Mongodb源码

    首先,让我们深入了解一下MongoDB的核心概念。MongoDB以集合(Collections)的形式存储数据,集合类似于关系数据库中的表,但不强制要求模式。集合由文档(Documents)组成,文档是键值对的数据结构,类似于JSON对象...

    MongoDB 权威指南.pdf

    2. **聚合框架**:MongoDB支持复杂的聚合查询,通过管道操作符(`$match`、`$group`、`$sort`等)进行数据聚合。 3. **索引管理**:为了提高查询性能,MongoDB支持创建索引。常用命令有`db.<collection>.createIndex...

Global site tag (gtag.js) - Google Analytics