Проблемы с работой проекта в Spring data mongodb 1.3.2

У меня проблема с работой проекта при использовании агрегации в Spring Data Mongo 1.3.2-RELEASE. Та же операция отлично работает, когда я использую Spring Data Mongo 1.3.1-RELEASE:

Сначала я уменьшаю свои документы, проецируя только два поля и переименовывая их в x и y. Затем я вызываю групповую операцию для этих двух полей (x, y), включая операцию подсчета (с именем xPerY). После этой группировки я хочу спроецировать эти два поля, которые теперь вложены в поле _id в не вложенные поля, называемые x и y (без _id). В результате я надеюсь получить документы, которые состоят только из xPerY, x и y. Следующий код работал нормально для 1.3.1-RELEASE, но не для 1.3.2-RELEASE:

    AggregationOperation projectFirst = Aggregation.project( "x", "y" ).and( xField ).as( "x" ).and( yField ).as( "y" );
    AggregationOperation group = Aggregation.group( "x", "y" ).count( ).as( "xPerY" );
    AggregationOperation project = Aggregation.project( "xPerY", "x", "y" ).andExclude( "_id" );

    aggregation = Aggregation.newAggregation( projectFirst, group, project );

В 1.3.2-RELEASE поля x и y после агрегации получат значение 0.

Проект AggregationOperation в 1.3.2-RELEASE создает следующий json: {"$ project": {"xPerY": 1, "x": 1, "y": 1, "_id": 0}}

Проект AggregationOperation в 1.3.1-RELEASE создает следующий json: {"$ project": {"xPerY": "$ xPerY", "x": "$ _id.x", "y": "$ _id.y" "," _id ": 0}}


person user2927972    schedule 28.10.2013    source источник


Ответы (1)


Могу подтвердить, что это ошибка.

Я отправил сообщение о проблеме https://jira.springsource.org/browse/DATAMONGO-788 и добавил запрос на перенос с исправлением на github.

person Thomas Darimont    schedule 29.10.2013