小编Mar*_*rin的帖子

Spring Data MongoDB 聚合 - 在投影中重命名 _id

在 mongo (3.6) shell 中,我可以执行以下聚合来投影并将“_id”重命名为其他名称:

db.collection.aggregate([
  { $group : { _id : ... },
  { $project : {   '_id': 0,        // exclude the id field
                   'name' : '$_id', // project the "old" id value to the "name" field
                   ...
               }
  }
])
Run Code Online (Sandbox Code Playgroud)

我需要使用 spring-data-mongo (通过 Spring Boot 2.3.1)来翻译它。我可以使用以下 ProjectionOperation 排除 id 字段:

project().andExclude("_id")
Run Code Online (Sandbox Code Playgroud)

但到目前为止我还无法重命名 id 字段。以下均无效:

这不应该那么难,但我不知道我错过了什么。


编辑:数据样本和完整的聚合管道以重现故障

并附有以下文件:

{ 
    "_id" : ObjectId("5a0c7a3135587511c9247db4"), 
    "_class" : "task", 
    "category" : "green", 
    "status" : "OK"
}
{ 
    "_id" …
Run Code Online (Sandbox Code Playgroud)

aggregation-framework spring-data-mongodb

8
推荐指数
1
解决办法
7360
查看次数

Spring数据JPA查询具有不同的参数

我试图通过几个参数找到表格的必要元素

List <Person> findByLastname(String lastname);
Run Code Online (Sandbox Code Playgroud)

但是如果将来添加/删除某些参数怎么办?如何使用Spring Data JPA使一些参数可选,如下所示

List <Person> findByOptionalLastnameAndOptionalFirstNameAnd...(String lastname, String firstname,...);
Run Code Online (Sandbox Code Playgroud)

spring spring-data spring-data-jpa

5
推荐指数
1
解决办法
5084
查看次数