Export all rows with 300,000 rows returns in server crash

@dhruv Export them in smaller chunks.

Something like:

const rowsToExport = await strapi.query(model).count();

let fetchedItems = 0;

while (fetchedItems < rowsToExport) {
  
  const data = await strapi.query(model).find({ _limit: 1000, _start: fetchedItems }); //
  // _start is used to skip the rows that you already fetched.
  
  /* 
   * write data to csv file here
  */
  fetchedItems = fetchedItems + data.length;
  strapi.log.info(`Fetched: ${fetchedItems} / ${rowsToExport}.`);
}
2 Likes