У меня есть массив длиной 8000 элементов, и я создаю новый документ в своей базе данных MongoDB Atlas, но продолжаю превышать ограничение в 100 операций в секунду. Мне не нужны данные, чтобы попасть туда молниеносно (75 вставок в секунду меня устраивают), поэтому я попытался вставить функцию Sleep в середине функции записи, но она не работает, как я ожидал.
Что я ожидаю и хочу, чтобы мой код выполнял:
- написать первый документ
- сон в течение 20 миллисекунд
- напишите второй документ
Что он сейчас делает:
- напишите первый документ
- немедленно напишите Второй документ
- немедленно напишите третий документ
Вот пример кода:
const Sleep = ms => new Promise(res => setTimeout(res, ms));
const MyFunction = array => {
return Promise.all(array.map(row => {
const item = new Item({
"property1": row.property1,
"property2": row.property2
});
Sleep(20) // tried putting a sleep here but that didn't work
return item.save();
}));
};