Несколько документов, которые уже сохранены в пн go дБ:
{
"companyName": "Google",
"departmentName": "Sales"
},
{
"companyName": "Google",
"departmentName": "HR"
},
{
"companyName": "Amazon",
"departmentName": "Marketing"
}
Мне нужно реализовать метод, который получит 2 атрибута: companyName
, departmentName
( один из они могут быть необязательными ) и будут возвращать список найденных документов, например:
, когда departmentName
равен null
и companyName
равен Google
метод возвращает 2 документа:
{
"companyName": "Google",
"departmentName": "Sales"
},
{
"companyName": "Google",
"departmentName": "HR"
}
когда companyName
равно null
и departmentName
равно Marketing
возвращен только один документ:
{
"companyName": "Amazon",
"departmentName": "Marketing"
}
Я пытался реализовать его различными способами, но никто не подходит нужно:
public interface CompanyRepository extends ReactiveMongoRepository<Company, String> {
Flux<Company> findByCompanyNameAndDepartmentName(String companyName, String departmentName);
}
возвращает 0 результатов, когда companyName
или departmentName
равно null
.
Опция 2:
Company company = Company.builder()
.companyName(null)
.departmentName("Marketing")
.build();
repository.findAll(Example.of(company))
.subscribe(System.out::println);
также печатает 0 результатов, но я ожидаю увидеть один документ.
, поэтому, пожалуйста, совет для правильного поиска?