от
Я хочу сделать "присоединиться" между табель учета рабочего времени (мой основной документ) и работником (внедренный документ). Так что у меня этот запрос агрегации, с матча, поиска, расслабиться и проекции операции.
Aggregation aggregation = Aggregation.newAggregation(matchTimesheetFilter(timesheetFilter), lookupEmployee(), unwindEmployee(), projectEmployee());
Она успешно возвращает объект табеля с внедренным сотрудником. Смысл в том, что я не хочу, чтобы все данные от сотрудника. Я хочу лишь несколько полей. Итак, я попытался исключить ненужные поля из сотрудников, используя мои проекции операции:
private ProjectionOperation projectEmployee() {
    return Aggregation.project().andExclude("nickname", "firstName", "fullName");
}
Это не сработало. Мой внедренный сотрудник еще не вернулся со всеми полями. Но я могу успешно исключить поля из табеля учета рабочего времени, если я делаю что-то вроде этого:
private ProjectionOperation projectEmployee() {
    return Aggregation.project().andExclude("startDate", "endDate");
}

Пожалуйста, войдите или зарегистрируйтесь для публикации ответа на этот вопрос.

...