春季数据中的项目运作问题mongodb 1.3.2

时间:2013-10-28 12:10:53

标签: java mongodb spring-data spring-data-mongodb

在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。

1.3.2-RELEASE中的AggregationOperation项目生成以下json: {“$ project”:{“xPerY”:1,“x”:1,“y”:1,“_ id”:0}}

1.3.1-RELEASE中的AggregationOperation项目生成以下json: {“$ project”:{“xPerY”:“$ xPerY”,“x”:“$ _id.x”,“y”:“$ _id.y”,“_ id”:0}}

1 个答案:

答案 0 :(得分:1)

我可以确认这是一个错误。

我提交了一个问题https://jira.springsource.org/browse/DATAMONGO-788并在github上添加了一个带有修复程序的pull请求。