mongodb在aggregate中怎么统计总数

更新时间:2023-07-06 11:24:09 阅读: 评论:0

mongodb在aggregate中怎么统计总数
katsumi[size=medium]在aggregate只能通过$group中的$sum来进⾏统计,如果sales表中有下⾯数据:[/size]丧偶英文
{ "_id" : { "month" : 3, "day" : 15, "year" : 2014 }, "totalPrice" : 50, "averageQuantity" : 10, "count" : 1 }
nur{ "_id" : { "month" : 4, "day" : 4, "year" : 2014 }, "totalPrice" : 200, "averageQuantity" : 15, "count" : 2 }
{ "_id" : { "month" : 3, "day" : 1, "year" : 2014 }, "totalPrice" : 40, "averageQuantity" : 1.5, "count" : 2 }
[size=medium]如果要得到count总记录数该怎么做呢?
我们可以通过:[/size]
db.sales.aggregate(
[
{
$group : {
every day_id : null,
totalPrice: { $sum: { $multiply: [ "$price", "$quantity" ] } },
averageQuantity: { $avg: "$quantity" },鸿门宴词类活用
count: { $sum: 1 }
}
}英语三级试卷
]
)
[size=medium]即可得到,id:null这个⾮常关键
得到如下结果[/size]:
{ "_id" : null, "totalPrice" : 290, "averageQuantity" : 8.6, "count" : 5 }
[size=medium]java代码可以通过如下[/size]
DBObject count = new BasicDBObject("$sum",1);
before he cheatsDBObject groupFileds = new BasicDBObject("_id", null);
groupFileds.put("count", count);
kansas university
DBObject group = new BasicDBObject("$group", groupFileds);
AggregationOutput output = collection.aggregate(Arrays.asList(group));
List<DBObject> dbObjects = (List<DBObject>) sults();
生活大爆炸13int count = (int) (0).get("count");
[b]
hellrair
这⾥⼲嘛不直接⽤mongodb的count,这是因为如果在这个统计中如果有根据地理空间距离查找的要求,那么就不满⾜要求了,所以改⽤aggregate进⾏统计是个不错的选择 [/b]

本文发布于:2023-07-06 11:24:09,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/168826.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:得到   表中   统计   距离   空间   查找
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图