Drizzle 查询工具
$count
db.$count()
是 count(*)
的实用包装器,它是一个非常灵活的运算符,可以原样使用,也可以作为子查询使用,更多详情请参阅我们的 GitHub 讨论。
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)),
},
});