MongoOperations findo仅返回嵌入式数组

时间:2018-07-24 14:44:42

标签: java arrays spring mongodb

我正在使用Spring的MongoOperations,我只需要返回文档中的一组嵌入式类。

例如,在下面的代码中,我只想返回“点”字段, 这是Point.class类,需要返回的是List。

我正在使用

{
"_id" : 2,

"name" : "bob",

"age" : 42,

"points" : [ { "label" : 85, "value" : 20 }, { "label" : 64, "value" : 12 } ] 

}

我尝试过

org.springframework.data.mongodb.core.MongoOperations;
org.springframework.data.mongodb.core.query.Criteria;
org.springframework.data.mongodb.core.query.Query;

Query query = new Query();

if (StringUtils.isNotBlank(vo.getLabel())) {
    query.addCriteria(Criteria.where("label").regex(vo.getLabel(), "i"));

}

query.with(PageRequest.of(page, pageSize)); // assumes page and pageSize is ok

query.fields().include("points").exclude("_id");

return mongoOperations.find(query, Company.class);

但是它返回一个公司,并且我需要一个点列表。这是分页搜索。

我该怎么办?

0 个答案:

没有答案