MongoDB基础(二)
Mongodb 索引、Group与MapReduce等命令
索引
#创建数据
db.test6.insertMany([{name:'Pikaqiu',money:30},{name:'Aoteman',money:20},{name:'Dadaguai',money:83},{name:'Pikaqiu',money:30},{name:'Pikaqiu',money:30},{name:'Dadaguai',money:23}])

#查看索引
db.test6.getIndexes()

#设置索引
db.test6.ensureIndex({age:23.0},{name:'myfirstindex'})
#查看执行计划
db.test6.find({age:23.0}).explain("executionStats")
#查看索引
db.test6.getIndexes()
#删除索引
db.test6.dropIndex("myfirstindex")

$Group
#统计小可爱的数量
db.test6.aggregate({$group:{_id:"$name",count:{$sum:1}}})

#统计每个小可爱打工赚了多少钱
db.test6.aggregate({$group:{_id:"$name",totalmoney:{$sum:'$money'}}})

参考文档:https://blog.csdn.net/qq_18948359/article/details/88777066
https://blog.csdn.net/molashaonian/article/details/79402430
$unwind
db.test7.insertMany([{name:'Pikaqiu',money:30,book:['my sun shine','last day']},{name:'Pikaqiu',money:20,book:'hello'}])

#实现对文档的拆分,可以将文档中的值拆分为单独的文档
db.test7.aggregate({$unwind:"$book"})

$push(拼接数据)
db.test7.aggregate([{$group:{_id:'$name',book:{$push:'$book'}}}])

MapReduce
var map=function(){emit(this.name,this.money)}
var reduce=function(key,value){return Array.sum(value)}
var options={out:"totalMoney"}
db.test6.mapReduce(map,reduce,options);
db.totalPrice.find()


浙公网安备 33010602011771号