Я разработал программное обеспечение, которое позволяет пользователям фильтровать данные в базе данных MongoDb.
Например, они могут захотеть извлечь Индикаторы , которые 7 дней назад , с показателем выше 5 и статусом , который активный . Эти данные затем отправляются в другую систему для использования и обработки.
В основном: извлечь эти данные из базы данных и поместить их в эту конечную точку. Конечная точка, которую я упоминаю, - это принятие JSON.
Для этого я изобрел систему фильтрации на основе синтаксиса YAML:
conditions:
- attribute: score
operator: gte
value: 3
- attribute: status
operator: is
value: Active
- attribute: created_at
operator: lt
value: 168
is_date: true
Работает, с этим проблем нет. Проблема в том, что любое изменение в будущем может привести к изменению программного обеспечения.
У меня вопрос, как предоставить систему фильтрации, напрямую связанную с базой данных, которую я использую? Зная, что я использую DAO , потому что база данных может быть MySQL или MongoDB.
Разрешить им напрямую вводить запросы MongoDB (или MYSQL)? Хм, рискованно. Перейти на GraphQL? Боюсь, уже слишком поздно.