为什么我的后端不更新数据库中的关键字数据列



我的想法是能够在keyword处添加多个字符串,我被告知使用外键,我也是。但是我不知道为什么它不能正常工作。有什么想法吗?

我的代码如下

用户.js

var User = sequelize.define('user', {
username: Sequelize.STRING,
myhash: Sequelize.TEXT,
mysalt: Sequelize.STRING,
keyword: Sequelize.STRING
});
var keywordData = sequelize.define('keywordData', {
keywords: Sequelize.STRING
})
User.hasMany(keywordData)
keywordData.belongsTo(User)

用户.js

router.post("/newkeyword", function(req, res) {
keywordData.update(
{keywordData: req.body.newkeyword},
{where: {id: req.user['id']}}
)
})

您忘记在第二个关联定义中指示外键选项以及为模型创建自动增量 IDkeywordData

var keywordData = sequelize.define('keywordData', {
id: { type: Sequelize.INTEGER, autoIncrement: true, primaryKey: true, },
keywords: { Sequelize.STRING }
})

因此,您的关联应该是这样的:

User.hasMany(keywordData)
keywordData.belongsTo(User, {foreignKey: 'keyword', targetKey: 'keywords' })

此外,您还可以参考此文档以获取更多详细信息。

最新更新