을 검색하기 위해 Spring Data Mongodb에서 $$ ROOT를 사용하여 전체 문서를 검색하는 집계 쿼리를 수행 할 수 있습니다. 이렇게하려면 $$ ROOT 변수를 사용합니다.mongodb 쉘을 사용하여 전체 문서
db.reservations.aggregate([
{ $match : { hotelCode : "0360" } },
{ $sort : { confirmationNumber : -1 , timestamp: -1 } },
{ $group : {
_id : "$confirmationNumber",
timestamp :{$first : "$timestamp"},
fullDocument :{$first : "$$ROOT"}
}}
])
내용이 confirmationNumber, timestamp, fullDocument 인 객체를 검색합니다. fullDocument는 전체 문서입니다.
스프링 - 데이터 및 집계 프레임 워크에서 동일한 작업을 수행 할 수 있는지 궁금합니다.
내 자바 코드는 다음과 같습니다
TypedAggregation<ReservationImage> aggregation = newAggregation(
ReservationImage.class,
match(where("hotelCode").is(hotelCode)),
sort(Direction.DESC,"confirmationNumber","timestamp"),
group("confirmationNumber").
first("timestamp").as("timestamp").
first("$$ROOT").as("reservationImage"));
List<myClass> items = mongoTemplate.aggregate(
aggregation,
myClass.class).getMappedResults();
오류가 없습니다 : org.springframework.data.mapping.PropertyReferenceException : No 재산권 $$ myClass 타입
당신이 어떤 생각을 가지고 있습니까 찾을?
감사합니다.
는 왜 달라야? 차이점을 찾는 실제 Java 코드는 무엇입니까? –
답변 해 주셔서 감사합니다. 내 질문에 내 자바 코드를 추가합니다 – Chessman