У меня следующий запрос, в котором я хочу найти информацию о сотруднике, но я хочу включить только несколько полей.
поля landline
и mobile
являются необязательными, поэтому они могут существовать или не существовать.
Query query = new Query();
query.addCriteria(Criteria.where("name").is(name)
.orOperator(
Criteria.where("landline").exists(true),
Criteria.where("mobile").exists(true)
)
);
query.fields()
.include("name")
.include("landline")
.include("mobile")
return mongoTemplate.find(query, Employee.class);
Я хочу вернуть всех сотрудников, и каждое из них должно содержать только имя, стационарный телефон, мобильные поля.если стационарный / мобильный телефон любой из них существует, другой должен быть установлен в нуль.
В приведенном выше примере выдается следующее сообщение об ошибке:
Причина: org.springframework.data.mapping.context.InvalidPersistentPropertyPath: Мобильное свойство не найдено на com.abc.xyz.Employee
Если я удаляю query.fields.include()
, он успешно возвращает сотрудников со всеми полями.