Почему вы не можете получить все данные одновременно, потому что существует ограничение на количество элементов, которые вы можете прочитать одновременно, и это понятно.
Глядя на документацию , вы можете использовать методы stream
или eachRow
. Которые позволяют обрабатывать записи коллекции в несколько итераций.
client.stream(query, parameters, options)
.on('readable', function () {
// readable is emitted as soon a row is received and parsed
let row;
while (row = this.read()) {
// process row
}
})
.on('end', function () {
// emitted when all rows have been retrieved and read
});
Или
client.eachRow(query, parameters, { prepare: true, autoPage : true }, function(n, row) {
// Invoked per each row in all the pages
}, callback);