#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» в результате.