728x90
보통 findAll 로 찾아와서 그것에 대한 length 를 구해가지고 총 개수 값을 찾는 경우가 있는데요
만약 findAll을 하는데 pagination 때문에 limit 가 걸려있으면 그 만큼의 개수를 가져올 수 밖에 없어서
limit가 최대 개수가 되는데 이때도, 총 개수를 가져오고 싶다면 findAndCounAll 을 쓰면 됩니다.
const db = require('../../모델 위치');
const a = await db.table_name.findAndCountAll({limit: 50});
console.log(a.rows.length) // 가져온 개수 50
console.log(a.rows.count.length) // table 에 들어있는 총 개수
findAndCountAll 로 가져오는 경우네는 response 값으로 rows와 count가 들어오는데
count : findAll 할때 가져오는 총 개수
rows: limit 를 걸어둔 개수 ( 안 걸면 count랑 같습니다 )
를 가지고 오게 됩니다.
혹시라도 총 개수를 가져오게 된다면 findAll로 두번 돌리지 마시고 findAndCountAll을 사용하세요.
728x90
'잡다한 지식' 카테고리의 다른 글
[JS] api 만들었을때 오래걸리는 현상 확인법 (0) | 2023.11.02 |
---|---|
[JS] sequelize transaction commit, rollback 잘못 걸었을때 (0) | 2023.11.01 |
[JS] 사업자등록번호 확인 api 연결하기 (0) | 2023.10.30 |
[JS] PHP로 다시 serialize하기 위해 만든 함수 (0) | 2023.10.30 |
[JS] sequelize raw query 적용 (1) | 2023.10.29 |