品易云推流 关闭
文章详情页
文章 > MongoDB > mongodb如何统计数据?

mongodb如何统计数据?

头像

 Ly

2020-06-09 16:39:418118浏览 · 0收藏 · 0评论

用mongodb中的aggregate统计数据:

应用一:统计name的数量和总数;

db.collection.aggregate([
  {$group:{_id:"$name",count:{$sum:1},total:{$sum:"$num"}}
]);

应用二:统计status=1的name的数量;

db.collection.aggregate([
  {$match:{status:1}},
  {$group:{_id:"$name",count:{$sum:1}}}
]);

应用三:统计name的数量,并且数量为小于2的;

db.collection.aggregate([
  {$group:{_id:"$name",count:{$sum:1}},
  {$match:{count:{$lt:2}}}
]);

应用四:统计stauts=1的name的数量,并且数量为1的;

db.collection.aggregate([
  {$match:{status:1}},
  {$group:{_id:"$name",count:{$sum:1}}},
  {$match:{count:1}}
]);

多列group,根据name和status进行多列

db.collection.aggregate([
  {$group:{_id:{name:"$name",st:"$status"},count:{$sum:1}}}
]);
 
$project该操作符很简单,
db.collection.aggregate([
  {$project:{name:1,status:1}}
]);

结果是,只有_id,name,status三个字段的表数据,相当于sql表达式 select _id,name,status from collection

操作符介绍:

$project:包含、排除、重命名和显示字段

$match:查询,需要同find()一样的参数

$limit:限制结果数量

$skip:忽略结果的数量

$sort:按照给定的字段排序结果

$group:按照给定表达式组合结果

$unwind:分割嵌入数组到自己顶层文件

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图