【发布时间】:2025-12-04 23:10:01
【问题描述】:
我的表模型名为“联系人”:
var Contact = sequelize.define('contact', {
userKey: Sequelize.STRING,
gsm: {
type: Sequelize.STRING,
unique: true,
required: true
},
firstName: Sequelize.STRING,
lastName: Sequelize.STRING,
)}
例如,如果用户登录并通过表单发布数据作为输入: userKey, gsm , firstname, lastname 像这样 1234,mohamed,sameer,KKKK(userKey 来自他的 loginSession)
我使用 userKey 将这些数据存储在 mysql 中 所以如果用户再次添加相同的 gsm ,
它会提醒 gsm 必须是唯一的
但我的问题是,如果具有不同 userKey 的用户进入应用程序并发布数据,他想添加另一个用户添加的相同 gsm。
PS:只有一张表叫Contact
是否可以使用复合键或sequelize Hooks?
我的 api.js:
exports.addNewContact = function (req, res) {
var newcontact = {
userKey: req.user.userKey, (// coming from login user session key)
gsm: req.body.gsm,
firstName: req.body.firstName,
lastName: req.body.lastName,
}
Contact.create(newcontact).then(function (data){
return res.status(200).send(data);
}).catch(Sequelize.ValidationError, function (err) {
return res.status(422).send(err.errors[0].message);
}).catch(function (err) {
return res.status(400).send(err.message);
});
【问题讨论】:
-
请查看here示例
标签: javascript mysql composite-key unique-key