Javascript mongodb:删除一个用户及其关联的所有数据引用

Javascript mongodb:删除一个用户及其关联的所有数据引用,javascript,node.js,database,mongodb,mongoose,Javascript,Node.js,Database,Mongodb,Mongoose,目前正在为自己开发一个个人网站,在尝试删除用户时,mongodb&mongoose遇到了一些困难 现在我有两个模式的显示如下 UserSchema: const userSchema = new mongoose.Schema({ username: { type:String, required: true, unique: true, }, password: String, firstName: String

目前正在为自己开发一个个人网站,在尝试删除用户时,mongodb&mongoose遇到了一些困难

现在我有两个模式的显示如下

UserSchema:

const userSchema = new mongoose.Schema({
    username: {
        type:String,
        required: true,
        unique: true, 
    },
    password: String,
    firstName: String,
    lastName: String,
    eMail: String,
    status: {type:Boolean, default: true},
    hobbies: [
        {
            type: mongoose.Schema.Types.ObjectId,
            ref: "Hobby"
        }
    ]
const hobbySchema = new mongoose.Schema({
    title: String,
    user: {
        id: {
            type: mongoose.Schema.Types.ObjectId,
            ref: "User"
            },
        username: String
    },
  
    desc: String,
    iconURL: String
    
});
霍布斯模式:

const userSchema = new mongoose.Schema({
    username: {
        type:String,
        required: true,
        unique: true, 
    },
    password: String,
    firstName: String,
    lastName: String,
    eMail: String,
    status: {type:Boolean, default: true},
    hobbies: [
        {
            type: mongoose.Schema.Types.ObjectId,
            ref: "Hobby"
        }
    ]
const hobbySchema = new mongoose.Schema({
    title: String,
    user: {
        id: {
            type: mongoose.Schema.Types.ObjectId,
            ref: "User"
            },
        username: String
    },
  
    desc: String,
    iconURL: String
    
});
我现在的问题是,当我使用以下带有nodeJS的路由删除用户时:

 router.delete('/delete/:id', async (req,res) => {
    await User.findOneAndDelete(req.params.id, (err, foundUser) => {
        if(err){
            console.log(err);
        }else{
            res.redirect("/logout"); 
        }
    })
});

我遇到了这样一个问题:嗜好集合仍然包含用户创建的所有嗜好。我希望在用户想要删除他们的帐户时将其全部删除。我知道Mongodb/Mongoose是一个非关系数据库,与SQL不同,因为我来自SQL。有没有办法删除用户创建的所有爱好?(作为一个非常基本的例子,只是创造爱好)

最好的选择是什么?只是使用SQLLite并完全更改数据库


感谢

相关:如果您使用多个集合,则需要在mongodb上进行多个查询。至少一个用于删除爱好,一个用于删除用户。