使用Spring数据和QueryDSL对MongoDB查询的投影
-
12-12-2019 - |
题
我有一个Spring MVC / Spring数据/ Mongo DB应用程序。 根据Spring数据文档和我的存储库工作正常(我可以执行谓词的查询),我已经解决了我的环境(我可以执行谓词)
我想知道是否有可能在制作投影的同时执行类型安全查询(使用Spring Data和QueryDSL)(我只想要一个非常大的文档的几个字段)。
querydsl文档给出了Hibernate的示例,但状态可以在所有模块 querydsl文档(但我没有能够找到与mongo一起做的)
这是hibernate的代码片段
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));
.
任何想法?
解决方案
目前不受支持。随意添加它的票证进入我们的问题跟踪器。
QueryDSL的Lucene和MongoDB模块仅支持查询根目录的直接投影,但是对于自定义预测可以弄清楚。
其他提示
我刚刚建造了这样的投影:
Criteria c1 = Criteria.where("field.name").is("val")
Criteria projection = Criteria.where("field").is(1)
BasicQuery query = new BasicQuery(c1.getCriteriaObject(), projection.getCriteriaObject())
. 不隶属于 StackOverflow