mongodb聚合查询
Posted z360519549
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mongodb聚合查询相关的知识,希望对你有一定的参考价值。
List<String> planIds = planMapper.selectAllStartPlanId(null); List<AggregationOperation> operations = new ArrayList<>(); operations.add(Aggregation.match(Criteria.where("planId").in(planIds).and("attendenceTime").lte(now))); operations.add(Aggregation.group("userId","planId") .max("attendenceTime").as("attendenceTime").first("memberId").as("studentId").first("planId").as("planId") .first("memberNumber").as("studentNumber").first("username").as("studentName") .first("schoolId").as("schoolId") .first("address").as("lastAttendenceAddress").first("orgEntity.className").as("className"). first("orgEntity.depId").as("depId").first("orgEntity.depName").as("depName") ); long currPage = 0,pageSize=5000; operations.add(Aggregation.sort(Sort.Direction.DESC, "attendenceTime")); // operations.add(Aggregation.skip(currPage*pageSize)); // operations.add(Aggregation.limit(pageSize)); Aggregation aggregation = Aggregation.newAggregation(operations); AggregationResults<GxyWarnEntity> g = template.aggregate(aggregation, MongoMoguAttendenceDto.class); //mongodb考勤中存在的数据 List<GxyWarnEntity> unSignins = g.getMappedResults();
Executing aggregation: [ "$match" : "planId" : "$in" : [ "176715c10b0960b161c6181e0532e779" , "3ffb1d4e001135129ede50d1678e5769" , "496af0ea0bdb2b93cc0c37618e0164d8" , "5274d63c8118b5918ae920b8b7ee934c" , "6d2addfc568480c3885b24dd95dba625" , "71b51a042312f3f79d02b7aa8d037829" , "7a5cb250a1024ba69f4d9cec1bdf0d55" , "9b18ecad83517b50510b05891ba9b03d" , "a2f684015bbb8ce4dec986b898213e01" , "b60ae3e53fc64d41b7ff8f3b2dc4be23" , "bb415eb63ed180a3c5429db733916aca" , "bc94d68734b804d3202ff7aafc2de913" , "bcfe591d84295d5354c2db76e107e3ad" , "c6477c9a99df81a9c706354d4833f73e" , "cbf55d8d12ad49c93e84101ad58fb89e" , "cc234b70807bb9d1ec7994760f6b6082" , "d1f133cd90bb392fd3e06745c31b8be3" , "d6d9d190d8d2c9a92dca48c2343bc1eb" , "db6921794544332510c322c748cf9a39" , "de372c4f38172841bad23d34090643a3" , "df7abbd3434ecdb4604554d400b9071d" , "e5916f5bfc580e7a0358195f76778f07" , "e683132a2fd4f06065b02e08eb457506" , "f077795af34b7fa924103f3dc8cbef40" , "f8cc095f62eddcf08aba2141604e8c66" , "f9a5542a4cbde051de19cb3e43443165" , "fc10da03eb1ea8f107ef2717cdd1bb07"] , "attendenceTime" : "$lte" : "$date" : "2019-10-08T06:51:36.503Z" , "$group" : "_id" : "userId" : "$userId" , "planId" : "$planId" , "attendenceTime" : "$max" : "$attendenceTime" , "studentId" : "$first" : "$memberId" , "planId" : "$first" : "$planId" , "studentNumber" : "$first" : "$memberNumber" , "studentName" : "$first" : "$username" , "schoolId" : "$first" : "$schoolId" , "lastAttendenceAddress" : "$first" : "$address" , "className" : "$first" : "$orgEntity.className" , "depId" : "$first" : "$orgEntity.depId" , "depName" : "$first" : "$orgEntity.depName" , "$sort" : "attendenceTime" : -1] in collection mogu_attendance
以上是关于mongodb聚合查询的主要内容,如果未能解决你的问题,请参考以下文章