我的想法是能够在 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)
用户.jsrouter.post("/newkeyword", function(req, res) {
keywordData.update(
{keywordData: req.body.newkeyword},
{where: {id: req.user['id']}}
)
})
最佳答案
您忘记在第二个关联定义中指定 foreignKey 选项,并为 keywordData
模型创建自动增量 ID。
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' })
你也可以引用这个 document 了解更多细节。
关于javascript - 为什么我的后端不更新数据库中的关键字数据列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62514035/