使用分页

大多数情况下,在开发应用程序时,你可能需要分页功能。如果你的应用程序中有分页,page slider 或无限滚动组件,则使用此选项。

  1. const users = await getRepository(User)
  2. .createQueryBuilder("user")
  3. .leftJoinAndSelect("user.photos", "photo")
  4. .take(10)
  5. .getMany();

将会返回前 10 个 user 的 photos。

  1. const users = await getRepository(User)
  2. .createQueryBuilder("user")
  3. .leftJoinAndSelect("user.photos", "photo")
  4. .skip(10)
  5. .getMany();

将返回除了前 10 个 user 以外的所有 user 的 photos。

你可以组合这些方法:

  1. const users = await getRepository(User)
  2. .createQueryBuilder("user")
  3. .leftJoinAndSelect("user.photos", "photo")
  4. .skip(5)
  5. .take(10)
  6. .getMany();

这将跳过前 5 个 users,并获取他们之后的 10 个 user。

takeskip可能看起来像我们正在使用limitoffset,但它们不是。一旦你有更复杂的连接或子查询查询,limitoffset可能无法正常工作。使用takeskip可以防止这些问题。