Records: Pagination
This script demonstrates how to load and display records from a selected table in NocoDB, with pagination support for large datasets.
// Ask user to select a table
const table = await input.tableAsync('Select a table to load records from');
// Initial query with small page size
const result = await table.selectRecordsAsync({ pageSize: 50 });
// Initial log
output.text(`Loading records from "${table.name}"...`);
// Track total loaded so far
let previouslyLoaded = result.records.length;
output.text(`Loaded ${previouslyLoaded} records so far...`);
// Load all records using pagination, with progress updates
while (result.hasMoreRecords) {
await result.loadMoreRecords();
const newlyLoaded = result.records.length;
const batchSize = newlyLoaded - previouslyLoaded;
previouslyLoaded = newlyLoaded;
output.text(`→ Loaded ${batchSize} more. Total so far: ${newlyLoaded}`);
}
// Final count
output.text(`✅ Done. Total records loaded from "${table.name}": ${result.records.length}`);