Как я могу передать параметры получателю в модели Sequelize?

#mysql #node.js #sequelize.js #getter

#mysql #node.js #sequelize.js #получатель

Вопрос:

Что я делаю:

Я читаю csv, который содержит такие данные, как населенные пункты, религии и так далее. В csv они являются текстовыми значениями. Но, конечно, в моей таблице в базе данных они есть foreign_key . Итак, чтобы вставить их, мне нужно сопоставить эти текстовые значения с id.

Можно получить идентификатор, как показано ниже.

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

Проблема:

Но проблема, о которой я думаю, заключается в том, что они findOne будут заполнены во всем моем методе, потому что у меня есть около 50 других свойств, помимо township.

Что я пытаюсь

Я пытаюсь передать township-name методу getter , ожидая его эквивалентный townshipId.

Я обнаружил, что можно использовать getter и setter в sequelize. Но я не нахожу, как передать параметры этим.

Мой вопрос

Пытаюсь ли я правильно импортировать данные csv? Как я могу использовать получатели (и установщики) с параметрами в sequelize?

Ответ №1:

Возможно, если вы хотите исключить столбцы из результата, вы передаете поле «атрибуты» следующим образом:

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

Таким образом, вы не будете показывать столбцы «field1» и «field2» в результате.