链式查询示例

假设我们有一个名为 User 的实体,其中包含 idusernameemail 字段。我们想要从数据库中获取所有用户名为 “Alice” 的用户,并按照 id 降序排序。使用 TypeORM 的链式查询可以轻松实现这个目标:

import { createConnection } from 'typeorm';
import { User } from './entity/User';
 
createConnection().then(async connection => {
  const users = await connection.getRepository(User)
    .createQueryBuilder('user')
    .where('user.username = :username', { username: 'Alice' })
    .orderBy('user.id', 'DESC')
    .getMany();
 
  console.log(users);
});

在这个示例中,我们首先创建了连接到数据库的连接,并通过 connection.getRepository(User) 获取了 User 实体的存储库。然后使用 createQueryBuilder() 方法创建了一个查询构建器,并通过一系列方法链式调用来添加条件和排序选项。最后使用 getMany() 方法执行查询并获取结果。