Сохранение запросов пользователей в базе при поиске
Всем привет!
Пишу небольшой сервис и от незнания столкнулся с проблемой как сохранять запросы пользователей в отдельной коллекции и _id этой записи в массиве searched_books у пользователя.
В принципе решил заду, но хотелось бы узнать насколько правильно.
Сущности выдуманные для примера.
Есть endpoint /books в которого прилетает запрос c названием книжки и id пользователя.
На него я повесил функцию черезDepends, которая выполняется перед реализацией логики самого endpoint.
Внутри этой функции:
- Получение
_idпользователя - Создание записи в коллекции (
_id пользователя,что искали,время поиска) - Отправка картежа с данными (
_idпользователя,_idсозданной записи) обратно в тело обработчика endpoint
После выполнения логики endpoint'а, идёт выполнение Background Task, внутри которой в массив searched_books добавляется _id этой созданной записи.
Подскажите, насколько адекватная реализация ? Спасибо.