首页 > 解决方案 > Sequelize 不使用 findOrCreate 将内容写入数据库

问题描述

所以我试图在 Sequelize 中使用 findOrCreate 来创建用户特定的配置。我的想法是程序应该检查用户的 ID 是否存在,如果不存在,它会创建一个特定于该用户的配置。

这是我当前的代码:

const Database = new Sequelize({
    dialect: 'sqlite',
    storage: '../../Data/UserConfigs.sqlite'
});

const Config = Database.define('Config', {
    // Model attributes are defined here
    ID: {
        type: DataTypes.INTEGER,
        primaryKey: true,
        allowNull: false
    },
    lang: {
        type: DataTypes.INTEGER,
        allowNull: false,
        defaultValue: 1
    },
    autoleave: {
        type: DataTypes.BOOLEAN,
        allowNull: false,
        defaultValue: true
    }
}, {
    tableName: "UserConfigs",
    timestamps: false
});

async function RetrieveConfig(ID){
    const UserConfig = await Config.findOrCreate({
        where: {ID: ID},
        defaults: {
            ID: ID
        }
    })
    return UserConfig[0]
}

当函数被执行时,它什么也不做,数据库保持完整。感谢您的关注!

标签: sequelize.js

解决方案


推荐阅读