Spring mongoTemplate只获取模型中文档的一部分

时间:2016-10-17 14:14:29

标签: java spring mongodb mongodb-query mongotemplate

背景 我想获取模型的一部分,而不包括该文档中的所有字段。

问题:所有字段都包含在响应模型中。即使它们是空的,它们就在那里。

问题:如何从响应模型中完全排除字段?

型号:

@Document
public class Business {
    @Id
    private String id;
    private String title;
    private Location location;
    private String image;
    //Getters and setters
}

存储库:

 public List<Business> findAllMapPinsByLocation(Circle circle) {
    Query query = new Query();
    query.fields().include("location");
    query.addCriteria(Criteria.where("location").withinSphere(circle));
    return mongoTemplate.find(query, Business.class, "business");
  }

响应:

[{
    "id": "57fcb673531ff7432e0edf97",
    "title": null,
    "location": {
        "longitude": 14.026884101506173,
        "latitude": 66.11196822800929
    },
    "image": null,
}]

这就是我希望响应的样子。所有没有ID和位置的字段都将从模型中删除:

[{
    "id": "57fcb673531ff7432e0edf97",
    "location": {
        "longitude": 14.026884101506173,
        "latitude": 66.11196822800929
    }
}]

0 个答案:

没有答案