mongodb在aggregate中怎么统计总数
2015-09-17 18:03
537 查看
[size=medium]在aggregate只能通过$group中的$sum来进行统计,如果sales表中有下面数据:[/size]
[size=medium]如果要得到count总记录数该怎么做呢?
我们可以通过:[/size]
[size=medium]即可得到,id:null这个非常关键
得到如下结果[/size]:
[size=medium]java代码可以通过如下[/size]
这里干嘛不直接用mongodb的count,这是因为如果在这个统计中如果有根据地理空间距离查找的要求,那么就不满足要求了,所以改用aggregate进行统计是个不错的选择 阅读更多
{ "_id" : { "month" : 3, "day" : 15, "year" : 2014 }, "totalPrice" : 50, "averageQuantity" : 10, "count" : 1 }
{ "_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 : {
_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);
DBObject groupFileds = new BasicDBObject("_id", null);
groupFileds.put("count", count);
DBObject group = new BasicDBObject("$group", groupFileds);
AggregationOutput output = collection.aggregate(Arrays.asList(group));
List<DBObject> dbObjects = (List<DBObject>) output.results();
int count = (int) dbObjects.get(0).get("count");
这里干嘛不直接用mongodb的count,这是因为如果在这个统计中如果有根据地理空间距离查找的要求,那么就不满足要求了,所以改用aggregate进行统计是个不错的选择 阅读更多
相关文章推荐
- mongodb高级查询aggregate使用,主要用于统计分析,筛选排序测试
- tree树型结构统计每个层级的总数
- 在sqlite中怎么统计本周本月数据
- 每个月的mongodb统计脚本
- MongoDB中强大的统计框架Aggregation使用实例解析
- codevs 1432 总数统计 二分 解题报告
- mongodb的聚合函数aggregate的$match和$group方法。
- MongoDB中强大的统计框架Aggregation使用实例解析
- 织梦DEDECMS自动统计当前栏目文档总数方法
- 简单统计SQLSERVER用户数据表大小(包括记录总数和空间占用情况)
- spring-boot 配置mongoDB连接,保存、查找、统计操作
- MongoDB的聚合函数 Aggregate
- 在SPRING DATA MONGODB中使用聚合统计查询
- 鼠标移动距离点击次数及键盘敲击次数每日统计帖(看看老板是怎么剥削我们的手指),每日更新
- 有一张表A ,有两个字段id ,code ,1对多...要求 同样的code 总数等于3的值..怎么求?
- MongoDB MapReduce 分组统计
- mongodb[八]聚合查询、统计、分组、平均值、最大值、最小值
- mongodb的mapreduce的分组统计
- Springdata mongodb 版本兼容 引起 Error [The 'cursor' option is required, except for aggregate with the explain argument
- Spring Data MongoDB 使用group和unwind实现对数组数据进行简单统计