我的想法是能够在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' })
此外,您还可以参考此文档以获取更多详细信息。