Я использую sequelize v5 и при внутреннем тестировании базы данных SQLite пытаюсь сохранить изображение.
MyImage.init({
// actual image data
data: {
type: DataTypes.BLOB('medium'),
allowNull: false
},
mimeType: {
type: DataTypes.STRING,
allowNull: false
},
}, { sequelize: db, modelName: 'image' });
Когда я пытаюсь создать изображение с помощью create ():
MyImage.create({
data: buffer,
mimeType: mimeType
}).then(...)
Я получаю ошибку типа:
11:35:10 AM worker.1 | Executing (default): INSERT INTO `images` (`id`,`userReference`,`resource`,`data`,`mimeType`,`createdAt`,`updatedAt`) VALUES (NULL,$1,$2,$3,$4,$5,$6);
11:35:10 AM worker.1 | Unhandled rejection TypeError: undefined is not a function
11:35:10 AM worker.1 | at database_1.createImage.then (/home/stratton/Public/busyimg/dist/main.js:146:31)
11:35:10 AM worker.1 | at runCallback (timers.js:705:18)
11:35:10 AM worker.1 | at tryOnImmediate (timers.js:676:5)
11:35:10 AM worker.1 | at processImmediate (timers.js:658:5)
, но когда я использовал findOrCreate () , как я успешно использовал в другом месте, он работает:
MyImage.findOrCreate({
where: {
data: buffer,
mimeType: mimeType
}
}).then(...)
Синтаксис между ними выглядит одинаково, где один я передаю значения напрямую, где другой я передаю значения в параметре , где .
Почему create () завершается с ошибкой TypeError, а findOrCreate завершается успешно?