如何使用@Compoundindex返回在GET请求中传递两个参数的数据?

th

我需要使用@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
}

我需要返回的是特定spaceCategory和eventType的UiFilters

以下代码返回UiFilters(Restcontroller)类

    @GetMapping("/by-space")
    public Filter findBySpaceCategoryAndEventType(@RequestParam String spaceCategory, @RequestParam String eventType ){
       // return filterService.findBySpaceCategoryAndEventType(UiFilter);
//        return null;
    }

在使用这样的URL XXXX?spaceCategory =工作与EVENTTYPE =热%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"
            }
        ]
    }
]
th

通过使用以下自定义查询找到了答案

   @Override
    public List<Filter> findFilterBySpaceCategoryAndEventType(String spaceCategory, String eventType) {
        Query query = new Query();
        query.addCriteria(Criteria.where("spaceCategory").is(spaceCategory));
        query.addCriteria(Criteria.where("eventType").is(eventType));
        List<Filter> filters= super.mongoOperations.find(query, Filter.class);
        return filters;
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用JS将两个值(lat lng)传递给GET请求的一个参数键

如何在api中传递两个参数来更新数据?

如何使用节点js在两个java类之间将数据作为参数传递

如何在AsyncTask中传递两个参数?

在使用lambda的函数中传递两个参数

如何使用请求主体和方法PUT在spring控制器中传递两个自定义类型的参数

使用jQuery将yii2 ajax请求中的两个参数传递给控制器

两个JavaScript参数如何传递“ this”

如何使用两个发送功能发送GET请求?

如何使用junit将两个二维参数数组中的数据传递给硒rc中的type()函数

如何从Django中两个不同的表返回数据?

如何在Google Cloud Puppeteer函数内部传递两个参数?解析以请求JSON

Django如何从两个表中获取数据并在视图中合并GET请求中的数据

在Rspec中的JSON POST请求上传递两个参数

如何使用dplyr * _join()函数的两个“ by”参数在R中组合两个数据集?

如何使用jQuery在GET请求中传递参数

灰烬数据-在一个请求中返回两个资源

如何找出两个参数中的哪个参数是在python中传递的?

如何在bash脚本中传递两个参数或参数

如何使用lambda传递两个参数(参数之一是事件)?

@GET中的两个查询参数

如何将两个整数参数传递并使用到 C# 命令行程序中?

如何使用 cy.intercept 存根两个同名请求但返回两个不同的主体?

如何将两个参数作为数据传递给 AJAX?

如何将两个下拉列表中的两个值或参数传递给ajax?

在URL中传递两个不同的参数以过滤数据

如何在不同的场合在一个函数中传递两个参数?

如何使用相同的图像运行两个组件,将两个不同的参数传递给 docker-compose

传递用于在两个视图中使用相同数据的参数