[SPRING] 봄 데이터 몽고 그룹
SPRING봄 데이터 몽고 그룹
내 프로젝트에서 봄 데이터 Mongodb을 사용하고 결과를 그룹화하는 내 쿼리에 대해 아래 클래스를 참조하십시오.
학생 수업 :
@Document(collection = "student")
public class Student {
@Id
private String id;
private String firstName;
private String lastName;
//other fields
//getters & setters
}
StudentResults (dto) :
public class StudentResults {
private String firstName;
private List<String> studentIds; //I need List<Student> here
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public List<String> getStudentIds() {
return studentIds;
}
public void setStudentIds(List<String> studentIds) {
this.studentIds = studentIds;
}
}
학생 ServiceImpl 클래스 :
public class StudentServiceImpl implements StudentService {
@Autowired
private MongoTemplate mongoTemplate;
public List<StudentResults> findStudentsGroupByFirstName() {
TypedAggregation<Student> studentAggregation =
Aggregation.newAggregation(Student.class,
Aggregation.group("firstName").
addToSet("id").as("studentIds"),
Aggregation.project("studentIds").
and("firstName").previousOperation());
AggregationResults<StudentResults> results = mongoTemplate.
aggregate(studentAggregation, StudentResults.class);
List<StudentResults> studentResultsList = results.getMappedResults();
return studentResultsList;
}
}
위의 코드를 사용하여 List
해결법
-
==============================
1.TypedAggregation 부분을 아래로 변경하고 StudentResults에 students 필드를 추가하십시오.
TypedAggregation 부분을 아래로 변경하고 StudentResults에 students 필드를 추가하십시오.
TypedAggregation<Student> studentAggregation = Aggregation.newAggregation(Student.class, Aggregation.group("firstName"). push("$$ROOT").as("students"));
$$ ROOT는 전체 문서를 푸시합니다.
최신 정보:
TypedAggregation<Student> studentAggregation = Aggregation.newAggregation(Student.class, Aggregation.group("firstName"). push(new BasicDBObject ("_id", "$_id").append ("firstName", "$firstName").append ("lastName", "$lastName")).as("students"));
from https://stackoverflow.com/questions/42814325/spring-data-mongodb-group-by by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] @Autowire 이상한 문제 (0) | 2019.01.21 |
---|---|
[SPRING] Spring MVC에서 @JavaConfig가 작동하지 않는 이유는 무엇입니까? (0) | 2019.01.21 |
[SPRING] @Secured 주석은 Autoproxy로 AspectJ 모드에서 작동하지 않는다. (0) | 2019.01.21 |
[SPRING] Session Factory를 사용하여 Java Hibernate에서 SQL 저장 프로 시저를 실행하는 방법? (0) | 2019.01.21 |
[SPRING] 스프링 MVC mvc : 자원 위치 속성 (0) | 2019.01.21 |