使用 Spring 数据和 QueryDSL 对 MongoDb 查询进行投影

ufa*_*oli 6 spring projection mongodb spring-data

我有一个 Spring MVC/Spring Data/Mongo DB 应用程序。我已经根据 spring 数据文档设置了我的环境,并且我的存储库工作正常(我可以使用谓词执行查询)

我想知道是否可以在进行投影时执行类型安全查询(使用 Spring Data 和 QueryDSL)(我只想要一个非常大的文档的几个字段)。

QueryDSL 文档给出了 Hibernate 的示例,但声明它可以在所有模块中完成QueryDSL 文档中完成(但我还没有找到如何使用 Mongo 来实现)

这是休眠的代码片段

class CustomerDTO {

  @QueryProjection
  public CustomerDTO(long id, String name){
     ...
 }

 QCustomer customer = QCustomer.customer;
 JPQLQuery query = new HibernateQuery(session);
 List<CustomerDTO> dtos = qry.from(customer).list(new QCustomerDTO(customer.id,    customer.name));     
Run Code Online (Sandbox Code Playgroud)

有任何想法吗 ?

Tim*_*per 2

目前不支持此功能。请随意将其添加到我们的问题跟踪器中。

Querydsl 的 Lucene 和 Mongodb 模块仅支持来自查询根的直接投影,但对于自定义投影,可以计算出一些东西。