Сохранять сеанс mongodb между запросами API - PullRequest
0 голосов
/ 05 мая 2020

Я использую mon goose в качестве ODM для моего nodejs приложения. Могу ли я сохранить начатый сеанс mongodb в хранилище, например redis, для получения и продолжения его позже? Для чего-то вроде этого случая -

  1. Пользователь делает запрос с некоторыми данными
  2. На сервере мы запускаем новый сеанс, запускаем транзакцию в этом сеансе и вносим некоторые изменения в базу данных
  3. Получить ошибку на сервере, но не прерывать транзакцию / завершить сеанс
  4. Ответить пользователю с ошибкой и идентификатором сеанса
  5. Пользователь вносит некоторые изменения по запросу и отправляет исправленные данные на сервер с идентификатором сеанса
  6. Создание экземпляра сеанса с идентификатора на сервере, и мы не запускаем операцию с самого начала, а используем созданный сеанс и продолжаем с того места, где мы остановились в прошлый раз

Пн goose использует node-mongodb-driver . В документации и источниках они замечают, что clientsession не предназначен для непосредственного создания экземпляра .

Могу ли я обойти это ограничение, или использовать один сеанс для множества запросов пользователей - это плохая практика?

...