Вопрос

Я не мог преобразовать ниже операции MongoDB агрегата в агрегацию данных Spring Data. Я использую версию Spring Data MongoDB 1.3.2.

db.ads.aggregate( { $group :{ 
 _id : "$adId",
 req : { $sum : 1 }, 
 imp: {$sum: { $cond: [ { $eq: [ "$imped", true ] } , 1, 0 ] } },
 click: {$sum: { $cond: [ { $eq: [ "$clked", true ] } , 1, 0 ] } } ,
 bid: {$sum: { $cond: [ { $eq: [ "$clked", true ] } , "$bid", 0 ] } } } });

Я остановился здесь:

AggregationOperation group = Aggregation.group("adId").count().as("req").sum("imped").as("imp").;;

Я был бы признателен за любую помощь, спасибо.

Это было полезно?

Решение

В настоящее время нет поддержки, чтобы использовать $ cmp/$ eq/$ ne для использования в групповой или проектной агрегации. Было бы хорошо иметь функцию. Также было бы полезно улучшить некоторые документы/примеры для функций критериев.

Пожалуйста, давайте проголосуем здесь: https://jira.springsource.org/browse/datamongo-784

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top