Сохранение запросов пользователей в базе при поиске

Всем привет!
Пишу небольшой сервис и от незнания столкнулся с проблемой как сохранять запросы пользователей в отдельной коллекции и _id этой записи в массиве searched_books у пользователя.
В принципе решил заду, но хотелось бы узнать насколько правильно.
Сущности выдуманные для примера.

Есть endpoint /books в которого прилетает запрос c названием книжки и id пользователя.
На него я повесил функцию черезDepends, которая выполняется перед реализацией логики самого endpoint.
Внутри этой функции:

  1. Получение _id пользователя
  2. Создание записи в коллекции (_id пользователя, что искали, время поиска)
  3. Отправка картежа с данными (_id пользователя, _id созданной записи) обратно в тело обработчика endpoint

После выполнения логики endpoint'а, идёт выполнение Background Task, внутри которой в массив searched_books добавляется _id этой созданной записи.
Подскажите, насколько адекватная реализация ? Спасибо.

Вернуться на верх