`
cakin24
  • 浏览: 1336517 次
  • 性别: 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管道的概念.pdf 学习资料 复习资料 教学资源

    Java开发面试-MongoDB专区

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

    mongodb-aggregation-framework

    内容MongoDB聚合基础汇总介绍管道的概念聚合结构和语法$ match:过滤文档使用$ project 使用表达式光标式方法阶段$ group阶段$放开$ lookup阶段利用MongoDB的灵活架构mongoimport 模式的重要性探索模式迁移架构观看...

    切勿妄谈Hadoop,以及4个数据管道打造实践

    本次为大家带来MongoDB与HakkaLabs的大数据之辩,以及数据管道的4个实践。时至今日,大数据这个概念已充斥了整个IT界,各种“搭载”了大数据技术的产品,各种用于处理大数据工具更如雨后的春笋触目皆是。同时,如果...

    Java思维导图xmind文件+导出图片

    IO 的基本概念、NIO、AIO、BIO深入分析 NIO的核心设计思想 Netty产生的背景及应用场景分析 基于Netty实现的高性能IM聊天 基于Netty实现Dubbo多协议通信支持 Netty无锁化串行设计及高并发处理机制 手写实现多...

    medknow:医疗关系和实体提取

    各种知识提取器在管道中工作: SemRep , MetaMap ,混响 多种持久性选项:利用Neo4j将丰富的文档保存到文件,实体以及与.csv的关系。 另外,使用Mongodb进行句子提取,而不是将.json保存到文件中。 入门 这些说明...

    cart代码matlab-Data-Science-MOOCs:数据科学MOOC

    购物车matlab 介绍 数据科学是一个新兴领域,数据科学家需要具备广泛的技能。...本专业涵盖了整个数据科学管道中所需的概念和工具,从提出正确的问题到做出推理和发布结果。 R编程和程序包中的许多实践

    tyk-pro-docker-demo:使用docker和docker compose的Tyk Pro演示取代tyk_quickstart

    Tyk API Gateway是完全本地解决方案,其中包括网关,仪表板和分析处理管道。 该演示将在您的计算机上运行Tyk内部部署,其中包含5个容器:Tyk网关,Tyk仪表板,Tyk Pump,Redis和Mongodb。 此存储库非常适合用于概念...

    dabao-netty:用于远程数据传输的网络项目

    Redis,MongoDB,MySQL等 水槽??? 净额概念 缓冲液 编解码器 管道和处理程序 多种协议-Http,Websocket,protobuf,Binary; TCP和UDP 螺纹型号 Tomcat-1个线程= 1个请求; 大约1000个客户端的速度太快,太多的...

    react-company:React式Web应用程序的示例。 Java。 Spring 5.React流。 码头工人

    React性应用程序的一个关键方面是背压概念,它是确保生产者不会压倒消费者的一种机制。 例如,在React性组件从数据库扩展到HTTP响应的管道中,当HTTP连接太慢时,数据存储库也可能变慢或完全停止,直到释放网络容量...

Global site tag (gtag.js) - Google Analytics