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'}])

image-20211018231439259

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

unwind

$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()

查看结果

posted @ 2021-11-01 20:54  不会写代码的花生  阅读(40)  评论(0)    收藏  举报