有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案