基于Spring Data MongoDB接口的投影递归

时间:2018-05-23 11:27:53

标签: spring-data-mongodb

我试图以递归方式使用基于接口的投影,但它不是在适当的子字段上投影,而是仅投影在整个嵌套对象上。

考虑文档/集合类:

@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}}

我们做错了什么,是否有一些解决方案如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

据Gitter的Mark Paluch(@ mp911de)说,这还不可能,所以我在jira.spring.io提交了一份改进请求,请参阅:https://jira.spring.io/browse/DATAMONGO-1989