TypeORM 中 .limit() 和 .take() 之间的区别

2023-12-27

我对具有相似目的的不同 TypeORM 方法感到困惑。来自 TypeORM 文档:

  • .take()— 分页限制。设置要获取的最大实体数。
  • .skip()— 分页偏移量。设置要跳过的实体数量。

我不太理解“分页限制/偏移”的含义。但是,不幸的是,我找不到任何有关区分的信息,例如,.take() and .limit()。我决定在 TypeORM 的源代码中查看这些方法的描述:

  • .limit()— 设置的 LIMIT - 要选择的最大行数。请注意,如果您使用联接,它可能不会按您预期的方式工作。如果您想实现分页,并且您的查询中有 join,那么请使用 take 方法。
  • .offset()— 设置的 OFFSET - 选择偏移。请注意,如果您使用联接,它可能不会按您预期的方式工作。如果您想实现分页,并且您的查询中有 join,那么请使用skip 方法。

为什么这两种方法不能用于分页呢?那么他们的目的是什么?请问谁能给我提供使用这 4 种方法的清晰示例吗?提前致谢。


不同之处在于take and skip将不是您将执行的查询的一部分,请在获得结果后键入或执行它。当您的查询包含任何类型的联接时,这总体上是有用的,因为结果与我们的 TypeORM 映射不同。

另一方面,limit and offset包含在查询中,但如果您使用联接,则可能无法按预期工作。例如,如果您有一个与 B 具有 OneToMany 关系的实体 A,并且您尝试获取 A 上的前三个条目(使用限制 3)并与 B 进行连接,如果第一个条目有 3 个 B,那么您将只得到一个A。

看一下描述,我们可以看到如果我们使用offset(与limit相同)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TypeORM 中 .limit() 和 .take() 之间的区别 的相关文章

随机推荐

  • 在 CSS 中使用颜色名称代替颜色代码有什么缺点吗?

    例如写作red比更有效 cc0000 它的字符较少 占用空间较小 并且更容易记住 使用有什么缺点吗颜色名称 http www somacon com p142 php超过十六进制代码或 RGB 值 这包括在多开发人员环境中进行编程 不同的浏
  • 将 CLRegion 转换为 MKMapRect 或类似的

    我想将 CLRegion 中心和半径 转换为两点 左上 右下 坐标集 我看过这个答案 但不合适 将 MKCoordinateRegion 转换为 MKMapRect https stackoverflow com questions 927
  • 连接点和计算区域

    这是我的第一篇文章 所以请友善 我有一个具有 3 10 个坐标的矩阵 我想连接这些点成为最大尺寸的多边形 我尝试 fill 1 生成一个图 但如何计算该图的面积 有没有办法将绘图转换回矩阵 你会推荐我什么 先感谢您 1 x1 0 0 0 5
  • Android Studio 4.2 布局渲染错误

    布局预览最近停止工作 我无法修复它 当问题出现时我最近改变的事情是 从 4 1 更新到 4 2 根据此处的说明更改了一些目录位置 https developer android com studio intro studio config
  • 在 Visual Studio 2012 .SDF 文件中,未替换(提交)我对原始文件的更改

    我在插入 SQL CE 数据库时遇到问题 我写了一些代码 然后当我需要数据库时 我右键单击投影 添加新项目 本地数据库 之后它让我选择一个数据模型 我选择了 数据集 这已在我左侧的服务器资源管理器下为我创建了一个数据库 并且在我右侧的解决方
  • 删除对象数组中的重复项 Javascript

    我有一个对象数组 list x 1 y 2 x 3 y 4 x 5 y 6 x 1 y 2 我正在寻找一种有效的方法 如果可能的话 O log n 删除重复项并最终得到 list x 1 y 2 x 3 y 4 x 5 y 6 我试过了 u
  • 在java中填充数字直到字符串长度为8个字符?

    我正在阅读 但找不到完整的片段 我正在寻找一个函数 它接受一个字符串并在左侧填充零 0 直到整个字符串的长度为 8 位 我找到的所有其他片段只让整数控制要填充的数量 而不是让整数控制填充的数量 直到整个字符串的长度为 x 位 在Java中
  • 为什么 Oracle 会忽略“完美”索引?

    我有这张表 create table demo key number 10 not null type varchar2 3 not null state varchar2 16 not null lots more columns 和这个
  • HiLo 还是身份?

    只是想获得一些关于主键的意见 使用身份 序列号或使用 HiLo 策略 查询高值并增加应用程序本身的低值 会更好吗 如果您将 SQL Server 2005 2008 与大型表 gt 100 万行 一起使用 您可能需要考虑this http
  • Java 变量隐藏方法重写概念

    我正在努力理解 Java 继承的变量 阴影方法和重写概念 Case 1 class Car public int gearRatio 8 public String accelerate return Accelerate Car clas
  • 链接某些 Windows API 时出现链接器错误

    我的系统中有一个 makefile 项目 最近 我添加了一些使用以下 Windows API 的新函数 RegOpenKeyEx RegEnumKeyEx RegCloseKey RegGetValue 为了拥有这些 APIS 我添加了wi
  • 尝试运行 ts-node 脚本时出现未知文件扩展名“.ts”错误

    我正在尝试运行在带有两个 ts 文件的常规文件夹中创建的脚本 一份包含脚本 另一份包含运行脚本的辅助函数 我还导入了更多东西 例如 axios 或表单数据 问题是 当我尝试使用 ts node 运行脚本时 节点脚本 ts 出现如下错误 Ty
  • 定期JavaFX服务

    我想从我的 JavaFX 应用程序定期执行任务 该任务从远程流中提取数据 虽然我知道我可以使用计时器 如下所示 JavaFX周期性后台任务 https stackoverflow com questions 9966136 javafx p
  • 在 iOS 中获取 iPhone 位置,无需将首选项“定位服务”设置为“开”

    我正在写一个类似于的守护进程克里斯 阿尔瓦雷斯守护进程 http chrisalvares com blog 7 creating an iphone daemon part 1 我想在未经用户许可的情况下在后台获取设备位置 如果Locat
  • 使用 Bitbucket Pipelines 从 docker 实例通过 SSH 连接到临时计算机

    使用新的 Bitbucket Pipelines 功能 我如何从它启动的 docker 容器通过 SSH 访问我的暂存盒 我的管道中的最后一步是 sh在暂存上部署必要代码的文件 但是由于我的暂存盒使用公钥身份验证并且不知道 docker 容
  • F# 交互式中的 Windows UI(UWP 或 8.1)

    通过引用默认的 WPF DLL 使用纯代码 WPF 可以轻松完成任何操作 r PresentationCore dll r PresentationFramework dll other DLLs r WindowsBase dll let
  • 使用Python从屏幕捕获视频数据

    有没有办法使用Python 也许使用OpenCV或PIL 连续抓取整个或部分屏幕的帧 至少以15 fps或更高的速度 我见过用其他语言完成的 所以理论上它应该是可能的 我不需要将图像数据保存到文件中 实际上 我只是希望它输出一个包含原始 R
  • Typescript 能够进行简单的函数组合吗?

    Typescript 能够进行简单的函数组合吗 我写出了以下用于测试的 compose map 和 filter 的基本实现 下面先设置类型和功能 然后再实现 javascript 似乎没问题 但打字稿显示误报compose用来 具体来说
  • 使用Remoting时如何在.NET3.5中使用App.config而不需要在App.config中添加Remoting相关配置?

    我正在尝试将 App config 用于托管远程处理并在 NET3 5 中开发的 Windows 服务应用程序 在该 App config 中 我想保留一些将在整个解决方案中使用的值 我没有向其中添加远程关系配置内容 但是在运行应用程序时
  • TypeORM 中 .limit() 和 .take() 之间的区别

    我对具有相似目的的不同 TypeORM 方法感到困惑 来自 TypeORM 文档 take 分页限制 设置要获取的最大实体数 skip 分页偏移量 设置要跳过的实体数量 我不太理解 分页限制 偏移 的含义 但是 不幸的是 我找不到任何有关区