Я создаю приложение, и у меня возникла проблема внутри цикла for.
Внутри моей функции я получил два массива в качестве аргументов (payload.data.start и payload.data.end), и я пытаюсь вставить его в mongodb.
Мой код выглядит так
async function emplaceAval (state, payload, blockInfo, context) {
for(var i=0 ; i<payload.data.start.length ; i++) // start and end have the same length
{
const user =await User.findOne({ 'account': payload.data.account })
user.availability.push({start: new Date(payload.data.start[i]+'Z') , end: new Date(payload.data.end[i]+'Z')});
await user.save();
}
}
Проблема в том, что я часто теряю данные. Потеряв данные, я имею в виду, что i изменяется до user.save.
Я думаю использовать forEach, но у меня есть два массива, которые нужно сохранить вместе, поэтому я не могу.
Второе решение, которое я подумал, это создать индексный массив. Например, если длина моих массивов равна 5, я создам indexTable = [0, 1, 2, 3, 4] и буду использовать asyncForEach для этого массива. Но я не думаю, что это решение является предпочтительным.
Есть идеи? Заранее спасибо