Я создал сервер с помощью NodeJS. В MySQL есть база данных и около 5000 пользователей. Я должен прочитать базу данных mysql и обновить и сделать журнал в базе данных MongoDB. Я выполнил для этого код. https://gist.github.com/chanakaDe/aa9d6a511070c3c78ba3ebc018306ad8Как управлять почти 5000 записями в цикле for в узле js-сервера?
В этом проблема. в этом коде, в строке 50, я добавил это значение.
userArray[i].ID]
Это идентификатор пользователя из цикла for, и мне нужно обновить таблицу mysql с этим идентификатором. Все эти коды в блоке цикла for. Но я получаю эту ошибку.
TypeError: Cannot read property 'ID' of undefined
Так что я присвоил эти значения переменным в верхней части. См. Строки 38 и 39.
var selectedUserID = userArray[i].ID;
var selectedUserTelephone = userArray[i].telephone;
Когда я использую это, нет ошибки. Но идентификатор пользователя не обновляется. Последние 2 значения имеют одинаковый идентификатор пользователя.
Какое решение для этого?
Ваш ответ полезным. Да, на самом деле я думал, что мой код работает сверху вниз как серия. Я сделаю этот вариант «async.parallel», и если есть какая-либо другая проблема, опубликует комментарий здесь :) Спасибо за помощь –
Знаете ли вы, почему я не могу получить доступ к значению userArray [i] .ID? –
@RootSL с использованием 'i' является общей проблемой при выполнении асинхронных действий в узле. Решение состоит в том, чтобы обернуть его в закрытие следующим образом: для (var i = 0; i <1000; i ++) { (функция (i) { // делать вещи }) (i); } –