聚合中投影后排除字段的问题(Spring Data MongoDB)

时间:2019-08-29 22:15:16

标签: spring-data-mongodb

当我聚合(并在投影中使用$ filter)时,我需要从过滤器的结果中排除一些字段。当我这样做时-spring会更改字段名称-并且我不能排除这些字段。

在这种情况下,我希望过滤文档中的嵌套数组,并且在设置过滤器后-我想从文档中排除某些字段。

这是聚合的代码-

Aggregation.newAggregation(
                match(Criteria.where("_id").is(appId)),
                project().andExclude("_id", "versions.url"),
                project().and(
                        filter("versions").as("version").by(createFilterConditions(version)))
                        .as("releaseNotes"),
                project().andExclude("releaseNotes.url", "releaseNotes.releaseNote.isPublic"))

其中createFilterConditions仅创建一个BooleanOperators.And对象。

在聚合输出中,我看到最后一个投影已从“ {releaseNotes.url”:0,“ releaseNotes.releaseNote.isPublic”:0}更改。 到{“ url”:0,“ releaseNote.isPublic”:0}

我试图了解为什么会这样。和ID,我做错了.. 预先感谢!

0 个答案:

没有答案
相关问题