У меня есть сценарий, в котором мне нужно добавить критерии для выполнения поиска и фильтрации в Spring с помощью mongoTemplate.
Сценарий:
Допустим, у меня есть Student
, Course
и PotentialStudent
. и я должен определить только определенные поля, которые будут использоваться для целей поиска и фильтрации. Для PotentialStudent
он содержит как Student
, так и Course
информацию, которая собирается до того, как будет собрана вся необходимая информация для заполнения в Student и Course.
Поля поиска - это поля, которые будут использоваться для поиска либо полей. Например: получить значения, совпадающие в courseName
или courseType
в Course
.
Фильтр должен использоваться для фильтрации определенных c полей для сопоставления нескольких значений и значений, которые будут фильтроваться в поле установлен на FilterParams
. Это означает, что если я получаю значения в FilterParams.studentType
, то для PotentialStudent
я должен добавить критерии для поиска в списке значений в student.type
PotentialStudent, тогда как если для Student
добавить критерии для поиска в type
.
*. 1025 *
Учитывая этот сценарий, мой вопрос заключается в том, как обрабатывать случаи фильтрации лучше и динамичнее c и как реализовать глобальный поиск, если необходимо выполнить поиск во всех Document
типах для указанных полей каждого типа.