首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Sequelize中的findOne和findByPk有区别吗?

Sequelize中的findOne和findByPk有区别吗?
EN

Stack Overflow用户
提问于 2021-05-11 05:03:51
回答 2查看 316关注 0票数 1

如果您正在根据其主键查找某些内容,并且不想包含任何额外的选项,那么使用findOne还是findByPk又有什么关系呢?性能会是一样的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-05-11 14:22:42

Model.findByPk()在内部使用Model.findOne(),你可以从here看到它。这两种方法都是一种捷径。

最后,这两个方法都调用更通用的Model.findAll()方法look here

它们都只是执行一些参数验证,并创建对性能影响可以忽略不计的where子句选项。

唯一的区别是用法。

Model.findByPk(1)等同于Model.findOne({primaryKey: 1}),需要自己指定主键。

票数 2
EN

Stack Overflow用户

发布于 2021-05-11 14:35:56

在幕后,将pk传递给findOne和使用findByPk没有区别,即性能是相同的。

这只是sequelize提供的一种抽象,以便获得可读性更好的代码。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67477656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档