我试图以递归方式使用基于接口的投影,但它不是在适当的子字段上投影,而是仅投影在整个嵌套对象上。
考虑文档/集合类:
@Document
public class Person {
private String firstName;
private String lastName;
private Address address;
static class Address {
private String zipCode, city;
// getters and setters
}
// getters and setters
}
封闭式预测:
public interface PersonSummary {
String getFirstName();
AddressSummary getAddress();
interface AddressSummary {
String getCity();
}
}
但是,当我使用以下存储库查询时:
public interface PersonRepository extends ReactiveCrudRepository<Person, String> {
Flux<PersonSummary> findAll();
}
使用以下字段执行查询:fields: Document{{firstName=1, address=1}}
而不是fields: Document{{firstName=1, address.city=1}}
我们做错了什么,是否有一些解决方案如何解决这个问题?
答案 0 :(得分:0)
据Gitter的Mark Paluch(@ mp911de)说,这还不可能,所以我在jira.spring.io提交了一份改进请求,请参阅:https://jira.spring.io/browse/DATAMONGO-1989