MongoDB实战2
MapReduce
类似于MySQL的group by
,做统计工作。Map函数调用emit(key,value)
,遍历集合中记录,将参数传递给Reduce函数处理。
使用db.runCommand
或mapReduce命令执行。
格式
参数名称 | 说明 |
---|---|
mapreduce | 指定数据集 |
map | 指定映射函数(生成键值对序列,作为统计函数输入参数) |
reduce | 指定统计函数 |
query | 目标过滤 |
sort | 目标记录排序 |
limit | 限制目标记录数量 |
out | 统计结果存放集合,不指定则使用临时集合,客户端断开自动删除 |
keeptemp | 是否保留临时集合 |
finalize | 最终处理函数 |
scope | 向map、reduce和finalize导入外部变量 |
verbose | 显示详细的时间统计信息 |
MapReduce实例
准备数据
分别指定函数及运行结果
索引
索引信息保存在system.indexes
中,默认为_id
创建索引,并且不可删除,创建索引可以后台执行。
索引可以是任何类型的字段,甚至是文档
组合索引
唯一索引
强制索引
删除索引