Drizzle 쿼리 유틸리티

$count

db.$count()count(*)의 유틸리티 래퍼로, 단독으로 사용하거나 서브쿼리로 사용할 수 있는 매우 유연한 연산자입니다. 자세한 내용은 GitHub discussion에서 확인할 수 있습니다.

const count = await db.$count(users);
//    ^? number

const count = await db.$count(users, eq(users.name, "Dan")); // works with filters
select count(*) from "users";
select count(*) from "users" where "name" = 'Dan';

서브쿼리에서 특히 유용합니다:

const users = await db.select({
  ...users,
  postsCount: db.$count(posts, eq(posts.authorId, users.id)),
}).from(users);

관계형 쿼리 사용 예제

const users = await db.query.users.findMany({
  extras: {
    postsCount: db.$count(posts, eq(posts.authorId, users.id)),
  },
});