我将 Drizzle ORM 与 Postgres 数据库结合使用。对我来说,何时使用 Select 与 Query 来访问数据并不明显。例如:
db.select().from(schema.users);
// OR
db.query.users.findMany()
我看到使用
select()
的一个优点是使用 query
时类型未知:
// select() expected type:
Promise<{
id: string;
email: string;
}[]>
// query expected type:
const user: {
[x: string]: unknown;
}[]
文档说
query
可用于访问关系:
关系查询旨在为您提供出色的开发人员体验,从 SQL 数据库查询嵌套关系数据,避免多重联接和复杂的数据映射。
这是唯一应该使用的时间吗?
我强烈推荐 Orange ORM。 https://github.com/alfateam/orange-orm .
它不是新的,但自 2014 年以来就存在于 npm 上(以前称为 rdb)。
它成熟、可靠并且语法简单。它支持 mysql、mssql、postgres、oracle、sap ase 和 sqlite。