我要从架构中的简历列表中删除简历。
我正在使用猫鼬(5.9.7)并表达js。
模式
const ResumeSchema = new Schema({
user: {
type: Schema.Types.ObjectId,
ref: "User"
},
fileLink: { type: String, required: true },
fileName: { type: String, required: true },
description: { type: String, required: true }
});
module.exports = Resume = mongoose.model("Resume", ResumeSchema);
我有一条路线来获取所有简历。
我也在ProfileSchema中创建简历的引用。
配置文件架构
const ProfileSchema = new Schema({
user: {
type: Schema.Types.ObjectId,
ref: "User"
},
resumes: [
{
type: Schema.Types.ObjectId,
ref: "Resume"
}
],
name: {
type: String,
required: true
},
});
module.exports = Profile = mongoose.model("Profile", ProfileSchema);
我不知道如何删除。我无法进行更新或拉动,因为它们似乎都适用于对象模式中的数组。
答案 0 :(得分:1)
假设remove
是您要删除的简历的实例(您使用await Resume.findById(resumeId)
获得的简历):
1)删除引用:您可以对$pull
进行update
(要提取的值将是简历的_id
):
// Assuming that `resume.user` is *not* populated
await User.update({ _id: resume.user }, { $pull: { resumes: resume._id } })
..或获取用户,在resumes
中删除相应的条目,保存用户。
2)使用简单的remove
删除简历:
await resume.remove()