Springdata MongoTemplate включает ifNull - PullRequest
0 голосов
/ 18 октября 2018

У меня следующий запрос, в котором я хочу найти информацию о сотруднике, но я хочу включить только несколько полей.

поля 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(), он успешно возвращает сотрудников со всеми полями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...