为什么 TypeORM skip() 和 take() 函数不起作用?

Why doesn't TypeORM skip() and take() function work?

提问人:Top Dev 提问时间:11/2/2023 更新时间:11/2/2023 访问量:19

问:

Delivery 表有超过 400 万行。我使用了MySQL数据库。

async adminDeliveriesViewCount (data) {
 try {
   const batchSize = 10;
   let batchIndex = 0, totalDeliveries = 0;
   while(true) {
     let total = await Delivery.createQueryBuilder().skip(batchIndex * batchSize).take(batchSize)
       .getCount();

     if(total == 0) break;
     totalDeliveries += total;
     ++ batchIndex;
   }

   return totalDeliveries;
 } catch (e) {
   new ErrorHandler(e, 'adminDeliveriesViewCount');
 }
}

此功能不起作用。“total”值始终是表中的总行数。

我尝试更改“batchSize”和“batchIndex”,但没有帮助。 谁能帮我?

JavaScript MySQL 节点 .js 类型或批 处理

评论

1赞 Barmar 11/2/2023
为什么不只使用查询而不是循环批处理呢?SELECT COUNT(*)

答: 暂无答案