В настоящее время я работаю над системой бронирования токенов для больницы и использую атлас 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
, мне нужно последовательно выполнять функцию маршрута . Я пробовал разные методы, но ничего не помогло.
Пожалуйста, помогите мне с этим.
Заранее спасибо.