mongodb如何统计数据?

767次阅读
没有评论

mongodb如何统计数据?

用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:分割嵌入数组到自己顶层文件

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:MongoDB2022-12-06发表,共计893字。
新手QQ群:570568346,欢迎进群讨论 Python51学习