Создать критерий объекта с помощью карты в Монго - PullRequest
0 голосов
/ 27 марта 2020

У меня есть карта Map filterParams, чей ключ, пара значений будет частью критерия. Как мне создать объект Критерии.

Ранее я использовал Query.addCriteria. Однако теперь мне нужен объект критерия, так как я должен передать его в Aggregation.match () в пн go.

    filterParams.entrySet().forEach(e -> query.addCriteria(criteria.where(e.getKey()).is(e.getValue())));


        Aggregation aggregation = Aggregation.newAggregation(Aggregation.match(criteria ),Aggregation.group("property_type.name").count().as("count"),
                Aggregation.project("property_type").andExclude("_id"));

1 Ответ

1 голос
/ 27 марта 2020

Попробуйте это:

Criteria criteria = new Criteria();
filterParams.entrySet().forEach(e -> criteria.and(e.getKey()).is(e.getValue()));

Aggregation aggregation = Aggregation.newAggregation(
    Aggregation.match(criteria), 
    Aggregation.group("property_type.name").count().as("count"),
    Aggregation.project("property_type").andExclude("_id")
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...