如何在Sequelize模型中将参数传递给getter?

时间:2020-08-21 11:12:10

标签: mysql node.js sequelize.js getter

我在做什么:

我正在读取csv,其中包含诸如城镇宗教等数据。在csv中,它们是 text 值。但是,当然在我数据库的表中,它们是foreign_key。因此,要插入这些值,我需要将这些 text 值映射到 id

可以像下面这样获得 id

const { townshipId } = await models.Township.findOne({
    where: { name: township },
    attributes: ["townshipId"],
    raw: true,
});

问题:

但是我认为的问题是,这些findOne将以我的整个方法填充,因为除了小镇之外,我还有其他50个属性。

我在尝试什么

我正在尝试将township-name传递给getter方法,期望其等效的townshipId

我发现可以在续集中使用getter and setter。但是我找不到如何将参数传递给那些参数。

我的问题

我是否正在尝试导入csv数据的正确方法?如何在序列化中使用带有参数的getter(和setter)?

1 个答案:

答案 0 :(得分:0)

也许如果您想从结果中排除列,您可以传递“属性”字段,例如:

attributes: { exclude: ['field1','field2'] }

这样你就不会在结果中显示列“field1”和“field2”。