No.1: 索引
No.2: 聚合
No.3: 进阶
No.4: 管理
No.5: 复制
No.6: 分片
No.7: 其它
// 索引就是用来加询查询的,与传统关系型数据库索引一模一样
// 创建索引
> db.user.ensureIndex({'user':1});
// 创建索引的缺点就是每次插入,更新,删除时会产生月外的开销
// 创建唯一索引
> db.user.ensureIndex({'user':1},{'unique':true});
// 创建唯一索引,去除重复,防止失败
> db.user.ensureIndex({'user':1},{'unique':true,'dropDups':true});
// explain -- 获取查询对索引的使用细节
> db.user.find().explain();
// hint -- 强制使用某个索引
> db.user.find().hint({'user':1});
// 修改索引
> db.user.ensureIndex({'user':1},{'background':true});
// background 的选项使索引在后台创建完成
// 不使用时,会阻塞创建过程中的所有请求
// 删除索引
> db.runCommand({'dropIndexes':'user','index':'indexname'});
> db.runCommand({'dropIndexes':'user','index':'*'}); //删除所有索引
// 地理空间索引
No.2: 聚合
// Count -- 返回集合中文档数量
> db.user.find().count();
// Distinct -- 查找出给定键所有不同的值
> db.runCommand({'distinct':'user','key':'age'});
// Group -- 分组
// MapReduce
No.3: 进阶
No.4: 管理
No.5: 复制
No.6: 分片
No.7: 其它