Выполнить входящие запросы последовательно в NodeJS (express) - PullRequest
2 голосов
/ 20 июня 2020

В настоящее время я работаю над системой бронирования токенов для больницы и использую атлас MongoDB в качестве базы данных. Из-за задержки в сети одновременные запросы вызывают некоторые проблемы. Поэтому я пытаюсь заставить запросы выполняться последовательно, чтобы избежать сохранения какого-либо бронирования с одним и тем же временным интервалом.

Это мое требование:

Скажем, тело моего входящего запроса имеет форму:

{
  ...
  "depatmentID":"dept1",
  ...
}

В основном, что происходит, когда приходит запрос, приведено ниже:

DepartmentDetails.findOne({department: departmentID}).then((department) => {
    /* 
    1. fetch department details
    2. update some of the fields like : 
       incrementing total number of tokens booked, last token time slot etc..

    (there are some other computations as well)

    3. now update the details in MongoDB
    */
    DepartmentDetails.findOneAndUpdate({department: departmentID}, dataToUpdate).then((data) => {
        //4. send response
    })
})

Для всех (одновременных) запросов, имеющих одинаковый departmentID, мне нужно последовательно выполнять функцию маршрута . Я пробовал разные методы, но ничего не помогло.

Пожалуйста, помогите мне с этим.

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...