Поле с @Field не переводится на правильное значение - PullRequest
0 голосов
/ 24 июня 2019

У меня есть документ с одним из имен полей, переопределенный @Field:

public User {
@Id
private String id;
private String username;


@Field("profiles")
private List<BusinessProfile> 
businessProfiles;
...
}

и операция агрегирования с операцией сопоставления следующим образом:

match(where("businessProfiles.services").elemMatch(Criteria.where("category").is(serviceCategory)))

Однако,в запросе, который это в конечном итоге генерирует, businessProfiles не транслируется в профили.Вот запрос, который я получил из файлов журнала:

Executing aggregation: [ { "$match" : { "businessProfiles.services" : { "$elemMatch" : { "category" : "Cloud_Initiation"}}}} ...]

Такое поведение кажется очень странным.Это должно работать так?Благодаря.

1 Ответ

1 голос
/ 25 июня 2019

Отображение поля выполняется только для TypedAggregation с указанием типа источника отображения.

TypedAggregation<Product> agg = newAggregation(User.class, 
    match(where("businessProfiles.services")...

Я создал DATAMONGO-2310 для улучшения документации в этой области.

...