【发布时间】:2016-04-17 13:13:37
【问题描述】:
我正在尝试使用 Spring 来查询 Mongo 存储库并过滤数组子文档。我已经引用了how to filter array in subdocument with mongodb,但想知道是否有更合适的或 java 结构化的方法可以使用 Spring 来做到这一点。
我目前正在使用速记存储库接口表示法,但我正在返回未过滤数组的完整文档。
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"
}]
}
【问题讨论】:
标签: java arrays spring mongodb