我的桌面型号名为' Contact' :
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:只有一个名为联系人
的表格是否可以使用复合键或续作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);
});
答案 0 :(得分:0)
最后我得到了回答:
我改变模型看起来像这样:
var Contact = sequelize.define('contact', {
userKey: Sequelize.STRING,
role: Sequelize.STRING,
gsm: {
type: Sequelize.STRING,
required: true
},
firstName: Sequelize.STRING,
lastName: Sequelize.STRING
}, {
indexes: [{
unique: true,
fields: ['userKey', 'gsm']
}]
})