Длина массива undefined. NodeJS/Oracle

456
22 декабря 2017, 03:14

Пытаюсь привести выгрузку из Oracle в Node.JS к нормальному JSON вида:
{ "name": "Bob", "age": 21 }

Мой код:

router.get('/policy',function(req, res) {
    oracledb.getConnection(
        cfg.database,
        function (err, connection) {
            if (err) {
                console.error(err.message);
                return;
            }
            connection.execute(`select * from * where *`, function(err, result) {
                var p = {};
                var results = result.rows;
                    if (err) {
                        res.status(501);
                        console.log(err.message);
                        doRelease(connection);
                        return;
                    } else {
                        for (var i = 0; i<= results.length; i) {
                            for (var j = 0; j <= results[i].length; j++) {
                                p.policyId = results[i][j];
                                p.policyNo = results[i][j];
                                p.status = results[i][j];
                            }
                        }

                        res.status(200);
                            // res.json(result);
                        doRelease(connection);
                        console.log(p);
                    }
                }
            ) 

И при обращении к /policy получаю ошибку:

TypeError: Cannot read property 'length' of undefined

Если попытаться получить длину массива, в котором массивы:
- console.log(results.length); получаю значение (в данном случае 5);
- так же если получить длину оставшегося массива console.log(results[0].length); получаю значение (в данном случае 3), но через цикл FOR возвращается ошибка...

UPD.

Сделал кусок кода так:

for (var i = 0; i < results.length; i++) {
   p.policyId = results[i][0];
   p.policyNo = results[i][1];
   p.status = results[i][2];
}
res.send(p);

но получаю только 1 результат. Если res.send(p); переношу в цикл, то получаю ошибку:

Error: Can't set headers after they are sent.

Но ошибка понятна, только не понятно, как отправить все результаты цикла...

READ ALSO
Проблемы с пагинацией

Проблемы с пагинацией

Никак не могу прикрутить пагинацию к этой странице: страница скидок

266
Как подключить правильно библеотеку materialize-css к webpack?

Как подключить правильно библеотеку materialize-css к webpack?

У меня возник вопрос, почему я не могу никак подключить webpack в эту библиотеку materialize-cssЕсть идея использовать данный модуль materialize-loader

212
Борьба с дублированием кода

Борьба с дублированием кода

Опытные коллеги, подскажитеЯ разрабатываю небольшой движок для сайта на основе MVC

159