/* 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}} ]);