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