我很新,这一点,我想实现,用户可以删除他们的喜欢在一个职位时,提出的要求和喜欢已经创建。我可以创建喜欢,但我不能删除它。
这是我喜欢的模型:
const Likes = db.define('likes', {
id: {
type: DataTypes.UUID,
primaryKey: true
},
userId: {
type: DataTypes.UUID,
allowNull: false,
references: {
key: 'id',
model: Users
}
},
postId: {
type: DataTypes.UUID,
allowNull: false,
references: {
key: 'id',
model: Posts
}
}
})
我的帖子模型:
const Posts = db.define('posts', {
id: {
type: DataTypes.UUID,
primaryKey: true
},
userId : {
type: DataTypes.UUID,
allowNull: false,
references: {
key: 'id',
model: Users
}
},
content: {
type: DataTypes.TEXT,
allowNull: false,
validate: {
len: [1, Infinity]
}
},
})
我的用户型号:
const Users = db.define('users' ,{
id: {
type: DataTypes.UUID,
primaryKey: true
},
firstName: {
type: DataTypes.STRING,
allowNull: false,
validate: {
len: [2, 50]
}
},
lastName: {
type: DataTypes.STRING,
allowNull: false,
validate: {
len : [2, 50]
}
},
email: {
type: DataTypes.STRING,
allowNull: false,
validate: {
isEmail: true
},
unique: true
},
password: {
type: DataTypes.STRING,
allowNull: false,
},
gender: {
type: DataTypes.STRING,
},
birthday: {
type: DataTypes.DATEONLY,
allowNull: false
},
nickName: {
type: DataTypes.STRING,
allowNull: false,
unique: true
},
profileImg: {
type: DataTypes.STRING,
validate: {
isUrl: true
}
},
role: {
type: DataTypes.STRING,
defaultValue: 'normal'
},
status: {
type: DataTypes.STRING,
defaultValue: 'active'
},
isVerified: {
type: DataTypes.BOOLEAN,
defaultValue: false
}
})
这就是我如何做的请求:
const createLike = async (obj) => {
const like = await Likes.findOne({
where: {
userId: obj.userId,
postId: obj.postId
}
})
if(like){
await like.destroy()
}
const data = await Likes.create({
id: uuid.v4(),
userId: obj.userId,
postId: obj.postId
})
return data
}
在此之后,我能够创建类似的,但不能删除它。
1条答案
按热度按时间yhived7q1#
在代码中,你寻找一个like。如果你找到它,你删除它,然后重新创建它。它可能应该是如果你找到它,删除它,否则创建它。所以: