sequelize- js: findOrCreate () завершается успешно, но create () завершается с ошибкой TypeError - PullRequest
0 голосов
/ 15 марта 2020

Я использую 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 завершается успешно?

...