![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MongoDB
码农_程序员
大数据技术的熟练的运用,有海量数据架构的设计和优化经验
展开
-
MongoDB 聚合Group(一)
db.collection.group()使用JavaScript,它受到了一些性能上的限制。大多数情况下,$ group在Aggregation Pipeline提供了一种具有较少的限制适用的替代。可以通过指定的键的集合中的文档和执行简单的聚合函数。在2.2版本中,返回的数组可以包含最多20000个元素;即最多20000个独特的分组。 我们比较熟悉的group by 的sql语句select key from table groupby key,而mongoDB没提供SQL那样通过Group B原创 2015-04-12 18:53:54 · 32651 阅读 · 3 评论 -
学习MongoDB 十二: MongoDB聚合(Aggregation Pipeline基础篇-下)(四)
上一篇我们对 db.collection.aggregate(pipeline, options)介绍,我们接下来介绍pipeline 参数和options参数的基础认识原创 2016-06-09 11:33:44 · 18230 阅读 · 7 评论 -
学习MongoDB 十一: MongoDB聚合(Aggregation Pipeline基础篇上)(三)
db.collection.aggregate()是基于数据处理的聚合管道,每个文档通过一个由多个阶段(stage)组成的管道,可以对每个节点的管道进行分组、过滤等功能,然后经过一系列的处理,输出相应的结果。原创 2016-06-09 10:47:10 · 34491 阅读 · 0 评论 -
MongoDB MapReduce 性能提升20倍的优化宝典
自从MongoDB被越来越多的大型关键项目采用后,数据分析也成为了越来越重要的话题。人们似乎已经厌倦了使用不同的软件来进行分析(这都利用到了Hadoop),因为这些方法往往需要大规模的数据传输,而这些成本相当昂贵。 MongoDB提供了2种方式来对数据进行分析:Map Reduce(以下简称MR)和聚合框架(Aggregation Framework)。MR非常灵活且易于使用,它可以很好地与分片(sharding)结合使用,并允许大规模输出。尽管在MongoDB v2.4版本中,由于JavaS转载 2016-05-16 21:57:08 · 6724 阅读 · 2 评论 -
学习MongoDB 十: MongoDB聚合(Map-Reduce)(二)
MapReduce要实现两个函数:Map和Reduce。Map函数调用emit(key,value)遍历一个或多个集合中所有的记录,进行分组(group by),然后将key与value传给Reduce函数进行处理,输出结果。 (1)MapReduce使用自定义JavaScript函数执行map和reduce操作,所以是基于js引擎,单线程执行,效率不高,比Aggregation复杂,适合用做后台统计等。 (2)MapReduce支持分片操作,可以进行原创 2016-05-21 17:57:36 · 8669 阅读 · 0 评论 -
学习MongoDB 九: MongoDB聚合(单一用途的聚合方法)(一)
聚合指各种可以处理批量记录并返回计算结果的操作,并MongoDB提供了丰富的聚合操作,MongoDB提供了进行聚合的三种方式:聚集管道(Aggregation),Map-Reduce方法,和单一用途的聚合方法。 单一用途的聚合方法:db.collection.count(), db.collection.group(), db.collection.distinct()。原创 2016-05-15 22:03:34 · 3443 阅读 · 0 评论 -
学习MongoDB 八: MongoDB索引(索引限制条件)(二)
我们上一篇介绍了索引基本操作,通过db.collection.createIndex(keys, options)语法创建索引,我们继续介绍地理空间索引、索引的限制,使我们在MongoDB时能提高查询效率。原创 2015-07-20 23:27:44 · 6284 阅读 · 0 评论 -
学习MongoDB 七: MongoDB索引(索引基本操作)(一)
在MongoDB建立索引能提高查询效率,只需要扫描索引只存储的这个集合的一小部分,并只把这小部分加载到内存中,效率大大的提高,如果没有建立索引,在查询时,MongoDB必须执行全表扫描,在数据量大时,效率差别就很明显,对于包括一个没有索引的排序操作的查询,服务器必须在返回任何结果之前将所有的文档加载到内存中来进行排序。 索引是特殊的数据结构,索引存储在一个易于遍历读取的数据集合中,索引是对数据库表中一列或多列的值进行排序的一种结构。索引项的排序支持高效的相等匹配和基于范围的查询操作。原创 2015-07-19 15:23:35 · 12697 阅读 · 1 评论 -
学习MongoDB 六: MongoDB查询(游标操作、游标信息)(三)
db.collection.find()可以实现根据条件查询和指定使用投影运算符返回的字段省略此参数返回匹配文档中的所有字段。并返回到匹配文档的游标,可以随意修改查询限制、跳跃、和排序顺序的功能。原创 2015-07-17 22:23:20 · 20717 阅读 · 0 评论 -
学习MongoDB 二:MongoDB添加、删除、修改
MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSQL数据库产品中最热门的一种。数据被分组存储在数据集中,被称为一个集合(Collenction)和对于存储在MongoDB数据库中的文件,我们不需要知道它的任何结构定义的自由模式,在存储数据时是以键-值对的集合键是字符串,值可以是数据类型集合里的任意类型,包括数组和文档。 MongoDB存储在集合中的所有文件,集合是一组有一组共享公共索引的相关文档,集合类似于关系数据库中的表。在MongoDB中,这些操作修改单个采集数据,为更新和原创 2015-07-07 00:09:33 · 23996 阅读 · 1 评论 -
学习MongoDB 四: MongoDB查询(一)
MongoDB提供了db.collection.find() 方法可以实现根据条件查询和指定使用投影运算符返回的字段省略此参数返回匹配文档中的所有字段。原创 2015-07-11 12:44:55 · 14980 阅读 · 0 评论 -
学习MongoDB 五: MongoDB查询(数组、内嵌文档)(二)
我们上一篇介绍了db.collection.find()可以实现根据条件查询和指定使用投影运算符返回的字段省略此参数返回匹配文档中的所有字段,我们今天介绍了对数组和内嵌文档的查询操作,尤其是对$elemMatch 同样可以用在find方法的第二个参数来限制返回数组内的元素,只返回我们需要的文档的介绍。我们经常在查询条件查询内嵌文档数组时,只需要返回主文档并返回内嵌文档数组中我们只需要的值,而不是把内嵌文档的数组都返回。原创 2015-07-16 23:32:47 · 35880 阅读 · 0 评论 -
学习MongoDB 一:MongoDB 入门(安装与配置)
MongoDB一种非关系型数据库(NoSql),是一种强大、灵活、可扩展的数据存储方式,因为MongoDB是文档模型,自由灵活很高,可以让你在开发过程中畅顺无比,对于大数据量、高并发、弱事务的互联网应用,MongoDB可以应对自如,MongoDB内置的水平扩展机制提供了从百万到十亿级别的数据量处理能力,还对MapReduce式聚合的支持,以及对地理空间索引的支持。原创 2015-03-15 15:29:02 · 29149 阅读 · 16 评论 -
学习MongoDB 三: MongoDB无法启动的解决方法
我们之前介绍了MongoDB入门(安装与配置),我们今天在打开MongDB时,我们先运行cmd.exe进入dos命令界面,然后进入cd D:\mongodb\bin目录下,启动服务或者mongo命令都报了错误。原创 2015-07-05 19:09:48 · 30513 阅读 · 3 评论 -
MongoDB 索引
一、简介 在大数据量的MongoDB时索引可以提高查询效率,如果没有创建索引,查询MongoDB数据效率非常低,在查询数据时会对集合进行全表扫描并选取那些符合查询条件的记录。二、创建索引 db.collection.createIndex( <key and index type specification>, <options> )...原创 2019-04-14 13:42:12 · 746 阅读 · 0 评论