我正在尝试使用Spring查询Mongo存储库并过滤数组子文档。我已经参考了如何使用mongodb过滤子文档中的数组,但想知道是否有更适合的Java结构化方法来使用Spring进行过滤。
我目前正在使用简写存储库接口符号,但返回的是未过滤的完整文档。
PersonRepository.java
我目前正在使用简写存储库接口符号,但返回的是未过滤的完整文档。
PersonRepository.java
@Repository
public interface PersonRepository extends MongoRepository <Person, String> {
List<Person> findByAddressZipCode(@Param("zip") int zip);
}
Person.java
@Document
public class Person {
@Id
private String id;
private String firstName;
private String lastName;
private List<Address> address;
}
Address.java
public class Address {
private int zip;
}
示例输入
{
"firstName":"George",
"lastName":"Washington",
"address":[{
"zip":"12345"
},{
"zip":"98765"
},{
"zip":"12345"
}]
}
预期输出
{
"firstName":"George",
"lastName":"Washington",
"address":[{
"zip":"12345"
},{
"zip":"12345"
}]
}
实际输出
{
"firstName":"George",
"lastName":"Washington",
"address":[{
"zip":"12345"
},{
"zip":"98765"
},{
"zip":"12345"
}]
}