Saya mempunyai model artikel di mana setiap artikel berkaitan dengan pengguna:
const Articles = db.define("Articles", { title: { type: DataTypes.STRING, allowNull: false, }, description: { type: DataTypes.STRING, allowNull: false, }, img_url: { type: DataTypes.STRING, allowNull: false, }, author: { type: DataTypes.STRING, allowNull: false, }, }); Articles.belongsTo(User); module.exports = Articles;
Bagaimana untuk memadam semua artikel yang dibuat oleh pengguna apabila mereka memadamkan akaun mereka?
Saya mempunyai fungsi berikut untuk memadam pengguna:
static async deleteUserById(req, res) { const id = req.params.id; const user = await User.findOne({ where: { id: id, }, }); if (!user) { res.status(404).json({ msg: "User not found!" }); return; } try { await User.destroy({ where: { id: id, }, }); res.status(200).json({ msg: "Account successfully deleted!" }); } catch (msg) { res.status(500).json({ msg: "Oops... an error has occurred!" }); } }
Saya berpindah dari mongodb ke mysql dan saya agak tersesat dalam perhubungan
Model siaran anda tidak ada kaitan dengan pengguna kerana saya lihat ia hanya mempunyai nama pengguna. Anda boleh membuat koleksi baharu untuk pengarang dengan meletakkan pengarang
_id
保存在author
dalam medan apabila anda membuat siaran baharu.Kini apabila anda memadamkan pengguna, anda boleh menanyakan koleksi artikel berdasarkan kunci pengarang mereka dan memadamkannya. Walau bagaimanapun, setelah dipadamkan, anda tidak akan dapat mendapatkan semula artikel tersebut.