Я работаю с весенней загрузкой и mongoDB, я пытаюсь сделать сложный запрос с MongoTemplate, чтобы получить все портфели без пустых проектов, но для всех результатов я получаю нулевой userId, и я не понимаю, где я ошибаюсь.Я новичок в Springboot, любая помощь будет признательна.
Когда я выполняю простой запрос, такой как Listfolios = portfolioRepository.findAll ();ИД пользователя не равен
Это мой код:
PortfolioRepositoryImpl (с MongoTemplate)
public List<Portfolio> getPortfolioWithNoEmptyProjects() {
Query query = new Query();
query.addCriteria(Criteria.where("projects").exists(true).ne(new ArrayList<>()));
query.fields().elemMatch("projects", Criteria.where("online").is(true));
// query.with(new Sort(Sort.Direction.ASC, "created"));
return mongoTemplate.find(query, Portfolio.class);
}
Документ портфолио
@Document
public class Portfolio {
@Id
@Getter
private String id;
@Getter
@Setter
@NotBlank(message = "media.user.id.not.be.null.or.empty")
private String userId;
@Getter
@Setter
@NotNull(message = "portfolio.projects.not.be.null")
private ArrayList<Project> projects;
public Portfolio() {
this.projects = new ArrayList<>();
}
}
Структура документа
Результат