java如何在Spring Data MongoDB查询中使用投影只返回数组中匹配的对象?
我收集了以下文件样本:
{
filename : "file";
filename_exlucde : "exclude";
product : Array
0: object{
x : "11",
y : "11",
z : "13"
}
1: object{
x : "11",
y : "12",
z : "13"
}
2 : object{
x : "12",
y : "13",
z : "14"
}
}
我使用以下代码创建查询
private Query createQuery(){
Query query = new Query();
query.fields().include("filename");
Criteria xcriteria = Criteria.where("x").is("11");
query.fields().elemMatch("product", xcriteria).include("product.x");
query.fields().elemMatch("product", xcriteria).include("product.y");
return query;
}
public List<Data> getData(){
Query query = createQuery();
return mongoTemplate.find(query, Data.class)
}
问题是只从数组中检索一个元素,而不是两个元素,并且数组中嵌入对象中的所有字段都被包括在内
预期产量
{
filename : "file"
product : Array
0: object{
x : "11",
y : "11"
}
1: object{
x : "11",
y : "12"
}
}
共 (0) 个答案