首页 > 解决方案 > Sequelize 中的 findOne 和 findByPk 有区别吗?

问题描述

如果您正在寻找基于其主键的内容并且不想包含任何其他选项,那么您使用 findOne 还是 findByPk 是否重要?表现会一样吗?

标签: sequelize.js

解决方案


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

最后,这两种方法都调用了更通用的Model.findAll()方法,看这里

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

唯一的区别是用法。

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


推荐阅读