Моя MySQL база данных содержит 2 миллиона записей в одной моей таблице. Я разрабатываю API, используя node.js для извлечения записей из таблицы.
Я использую пакет mysql2 для подключения к базе данных. Ниже приведен мой код для извлечения всех записей из таблицы.
var query1 = dbCon.query('select * from Post');
query1
.on('error', function (err) {
// Handle error, an 'end' event will be emitted after this as well
console.log(err)
})
.on('fields', function (fields) {
// the field packets for the rows to follow
console.log(fields);
})
.on('result', function (row) {
// Pausing the connnection is useful if your processing involves I/O
dbCon.pause();
processRow(row, function () {
console.log("row is ", row);
dbCon.resume();
});
})
.on('end', function (row) {
console.log(row);
});
код подключения к базе данных
const mysql = require('mysql2');
const serverConfig = require('../global/serverConfig');
const conPool = mysql.createPool({
host: serverConfig.dbHost,
database: serverConfig.dbName,
user: serverConfig.dbUser,
password: serverConfig.dbPass,
multipleStatements: true
// timezone: 'IST'
})
conPool.on('connection', function (connection) {
// console.log('Connected to MySql db');
});
conPool.on('error', ()=>{
// console.log('Not Connected to MySql db');
})
module.exports = conPool.promise();
Когда я нажимаю API, я получаю ошибку
Ошибка: Ошибка типа: query1.on не является функцией
Пожалуйста, предложите мне решение или какой-либо альтернативный способ извлечения и обработки таких огромных данных.