第一步 建立文档集合
/* 1 */
{
"_id" : ObjectId("593a6cd071be36e5191ea614"),
"id" : "dasdyy12e1e8128asdasjd",
"deviceId" : "saaaaaaaaaa",
"sn" : "sasasa",
"deviceModel" : "R3000",
"registTime" : "125435435213",
"companyId" : "a9385560d3d34b1f9ceccd5aafb58c4c",
"companyName" : "鲁邦通",
"faultFlag" : 1,
"faultMsg" : "ssssssssssss",
"faultTime" : "122222222"
}
/* 2 */
{
"_id" : "593a6cd071be36e5191ea61432",
"deviceId" : "saaa1aaaaaaa",
"sn" : "sas11asa",
"deviceModel" : "R3000",
"registTime" : "125435435213",
"companyId" : "a9385560d3d34b1f9ceccd5aafb58c4c12",
"companyName" : "鲁邦通",
"faultFlag" : 1,
"faultMsg" : "ssssssssssss",
"faultTime" : "122222222"
}
/* 3 */
{
"_id" : "593a6cd071be36e5191ea611432",
"deviceId" : "saaa1aaa1aaaa",
"sn" : "sas11asa",
"deviceModel" : "R3000",
"registTime" : "125435435213",
"companyId" : "a9385560d3d34b11f9ceccd5aafb58c4c12",
"companyName" : "鲁邦通",
"faultFlag" : 1,
"faultMsg" : "ssssssssssss",
"faultTime" : "122222222"
}
/* 4 */
{
"_id" : "593a6cd071b1e36e5191ea61432",
"deviceId" : "saaa1a1aaaaaa",
"sn" : "sas11asa",
"deviceModel" : "R3000",
"registTime" : "125435435213",
"companyId" : "a93855601d3d34b1f9ceccd5aafb58c4c12",
"companyName" : "鲁邦通",
"faultFlag" : 1,
"faultMsg" : "ssssssssssss",
"faultTime" : "122222222"
}
/* 5 */
{
"_id" : "593a6cd071b1e236e5191ea61432",
"deviceId" : "saaa1a1aaaaaa",
"sn" : "sas11asa",
"deviceModel" : "R2000",
"registTime" : "125435435213",
"companyId" : "a93855601d3d34b1f9ceccd5aafb58c4c12",
"companyName" : "鲁邦通",
"faultFlag" : 1,
"faultMsg" : "ssssssssssss",
"faultTime" : "122222222"
}
/* 6 */
{
"_id" : "593a6cd071b1e36e51191ea61432",
"deviceId" : "saaa1a1aaaaaa",
"sn" : "sas11asa",
"deviceModel" : "R2000",
"registTime" : "125435435213",
"companyId" : "a93855601d3d34b1f9ceccd5aafb58c4c12",
"companyName" : "鲁邦通",
"faultFlag" : 1,
"faultMsg" : "ssssssssssss",
"faultTime" : "122222222"
}
/* 7 */
{
"_id" : "593a6cd071b1e36e5191ea161432",
"deviceId" : "saaa1a1aaaaaa",
"sn" : "sas11asa",
"deviceModel" : "R1000",
"registTime" : "125435435213",
"companyId" : "a93855601d3d34b1f9ceccd5aafb58c4c12",
"companyName" : "鲁邦通",
"faultFlag" : 1,
"faultMsg" : "ssssssssssss",
"faultTime" : "122222222"
}
/* 8 */
{
"_id" : "593a6cd071b1e361e5191ea61432",
"deviceId" : "saaa1a1aaaaaa",
"sn" : "sas11asa",
"deviceModel" : "R1000",
"registTime" : "125435435213",
"companyId" : "a93855601d3d34b1f9ceccd5aafb58c4c12",
"companyName" : "鲁邦通",
"faultFlag" : 1,
"faultMsg" : "ssssssssssss",
"faultTime" : "122222222"
}
/* 9 */
{
"_id" : "593a6cd0711b1e36e5191ea61432",
"deviceId" : "saaa1a1aaaaaa",
"sn" : "sas11asa",
"deviceModel" : "M1000",
"registTime" : "125435435213",
"companyId" : "a93855601d3d34b1f9ceccd5aafb58c4c12",
"companyName" : "鲁邦通",
"faultFlag" : 1,
"faultMsg" : "ssssssssssss",
"faultTime" : "122222222"
}
/* 10 */
{
"_id" : "593a6cd071b11e36e5191ea61432",
"deviceId" : "saaa1a1aaaaaa",
"sn" : "sas11asa",
"deviceModel" : "M1000",
"registTime" : "125435435213",
"companyId" : "a93855601d3d34b1f9ceccd5aafb58c4c12",
"companyName" : "鲁邦通",
"faultFlag" : 1,
"faultMsg" : "ssssssssssss",
"faultTime" : "122222222"
}
第二步 先分组查询
db.device_statistics.aggregate([
{$group:{_id:"$deviceModel",num:{$sum:1}}}
]);
第三步 选取显示的字段列
db.device_statistics.aggregate([
{$group:{_id:"$deviceModel",num:{$sum:1}}},
{$project:{deviceModel:"$_id",num:1}}
]);
第四步 排除不需要的列
db.device_statistics.aggregate([
{$group:{_id:"$deviceModel",num:{$sum:1}}},
{$project:{_id:0,deviceModel:"$_id",num:1}}
]);
分享到:
相关推荐
mongodb group aggregate项目实战笔记 管道聚合 mongodb group按时间分组,用aggregate管道聚合 会比group的处理效率要高而且更灵活方便
附件为mongoDB之Java通过group函数来实现统计和分组的文档描述
mongodb 分组统计,查询列表,java开发,代码,文件。
使用聚合管道可以对集合中的文档进行变换和组合,常用于多表关联查询、数据的统计。 db.COLLECTION_NAME.aggregate() 方法用来构建和使用聚合管道,下图是官网给的实例,可以看出来聚合管道的用法还是比较简单的。 ...
我的博客:www.wangs0622.com, mongoDB-aggregate pipeline 使用的文档集合。
主要介绍了使用aggregate在MongoDB中查询重复数据记录的方法的相关资料,需要的朋友可以参考下
今天开发同学向我们提了一个紧急的需求,从集合mt_resources_access_log中,根据字段refererDomain分组,取分组中最近一笔插入的数据,然后将这些符合条件的数据导入到集合mt_resources_access_log_new中。...
最近一直在用mongodb,有时候会需要用到统计,在网上查了一些资料,最适合用的就是用aggregate,以下介绍一下自己运用的心得。。 MongoDB 聚合 MongoDB中聚合(aggregate)主要用于处理数据(诸如统计平均值,求和等),...
关于mongodb的高级操作,包括聚合、主从复制、分片、备份与恢复、MR。 一、聚合 aggregate 聚合(aggregate)主要用于... $group:将集合中的文档分组,可用于统计结果 $match:过滤数据,只输出符合条件的文档 $proj
C# MongDB分组统计 过滤条件和分组代码
因为MongoDB的文档有数组字段,所以可以简单的将计算总和分成两种: 1,统计符合条件的所有文档的某个字段的总和; 2,统计每个文档的数组字段里面的各个数据值的和。这两种情况都可以通过$sum表达式来完成。 以上两...
一、MongoDB 聚合管道(Aggregation Pipeline) 二、MongoDB Aggregation 管道操作符与表达式 三、 数据模拟
本文实例讲述了nodejs+mongodb aggregate级联查询操作。分享给大家供大家参考,具体如下: 最近完成了一个nodejs+mongoose的项目,碰到了mongodb的级联查询操作。情形是实现一个排行榜,查看某个公司(organization...
本篇文章主要介绍了Mongodb在CSharp里实现Aggregate实例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
php代码-mongodb aggregate sample 的使用
MongoDB 聚合管道(Aggregation Pipeline) - 张善友 - 博客园
主要介绍了Thinkphp使用mongodb数据库实现多条件查询方法,修改了mongodb驱动文件来实现复合查询、多条件查询,需要的朋友可以参考下