Крч, я послушал всех, но временно сделал по-своему. Спасибо всем за помощь.
Решил данный вопрос гениально просто:
spoilerlet users = await await acc.find({});
users.forEach(async user => {
const requiredExperience = levelCurve[user.level];
if (user.exp >= requiredExperience) {
wait acc.updateOne({ _id: user._id}, { $inc: { level: 1, exp: -(requiredExperience)}});
}
});
UPD: Больше таким не страдаю. Если и проверять опыт, то сразу же при начислении. Так максимально сокращается кол-во запросов к бд.