java在Spring Data Mongodb中使用$$ROOT检索整个文档
使用mongodb shell,我能够执行一个聚合查询来检索整个文档。 为此,我使用$$ROOT变量
db.reservations.aggregate([
{ $match : { hotelCode : "0360" } },
{ $sort : { confirmationNumber : -1 , timestamp: -1 } },
{ $group : {
_id : "$confirmationNumber",
timestamp :{$first : "$timestamp"},
fullDocument :{$first : "$$ROOT"}
}}
])
它检索内容为confirmationNumber、timestamp和fullDocument的对象。 fullDocument是整个文档
我想知道是否可以对Spring数据和聚合框架进行同样的处理
我的java代码是:
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();
错误是: 组织。springframework。数据地图。PropertyReferenceException:找不到myClass类型的属性$$
你有什么想法吗
谢谢
共 (0) 个答案