背景 我想获取模型的一部分,而不包括该文档中的所有字段。
问题:所有字段都包含在响应模型中。即使它们是空的,它们就在那里。
问题:如何从响应模型中完全排除字段?
型号:
@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
}
}]