背景: 我想获取模型的一部分而不包含该文档中的所有字段。
问题:所有字段都包含在响应模型中。即使它们为空,它们也在那里。
问题:如何从响应模型中完全排除字段?
模型:
@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 和 location 的字段:
[{
"id": "57fcb673531ff7432e0edf97",
"location": {
"longitude": 14.026884101506173,
"latitude": 66.11196822800929
}
}]