Мне нужно вернуть набор объектов, используя @ Compoundindex.
Я пытался с Jdk 8
Следующий класс является классом сущностей
@Document("filter")
@CompoundIndex(def = "{'spaceCategory': 1, 'eventType': 1}")
public class Filter extends BaseEntity {
@Indexed
private String spaceCategory;
@Indexed
private String eventType;
@DBRef(lazy = true)
private List<UiFilter> uiFilters;
public Filter(){}
public Filter(String id){
super(id);
}
public Filter(String spaceCategory, String eventType) {
this.spaceCategory = spaceCategory;
this.eventType = eventType;
}
//Getters and Setters
}
Что мне нужно вернуть, так это UiFilters определенного spaceCategory и eventType
Следующий код должен возвращать класс UiFilters (Restcontroller)
@GetMapping("/by-space")
public Filter findBySpaceCategoryAndEventType(@RequestParam String spaceCategory, @RequestParam String eventType ){
// return filterService.findBySpaceCategoryAndEventType(UiFilter);
// return null;
}
при использовании URLнапример xxxx? spaceCategory = Work & eventType = Hot% 20Desk Мне нужно получить только uiFilter из следующего набора данных '
Данные из коллекции
[
{
"id": "1",
"status": 1,
"spaceCategory": "Work",
"eventType": "Hot Desk",
"uiFilters": [
{
"id": "1",
"status": 1,
"label": "Duration",
"type": {
"id": "1",
"status": 1,
"name": "SINGLE_SELECT"
},
"value": [
"Daily",
"Weekly",
"Monthly"
]
},
{
"id": "2",
"status": 1,
"label": "Start Date",
"type": {
"id": "3",
"status": 1,
"name": "DATE_PICKER"
},
"value": ""
},
{
"id": "3",
"status": 1,
"label": "Price",
"type": {
"id": "3",
"status": 1,
"name": "RANGE_SELECT"
},
"value": {
"min": 1,
"max": 100,
"default": 50
}
},
{
"id": "4",
"status": 1,
"label": "Wi-Fi",
"type": {
"id": "4",
"status": 1,
"name": "SWITCH"
},
"value": "true"
}
]
}
]