如何在猫鼬的另一个集合中找到一个集合

时间:2021-02-01 12:54:14

标签: node.js mongodb mongoose

我正在尝试删除一个集合内的特定文档,该集合也位于另一个集合内。例如:我有一个名为 todoTitle 的集合,其中有一个名为 todo 的另一个集合的数组,我想找到该数组内的特定 todo 集合并将其删除。我正在尝试使用 findOneAndDelete 但它不起作用。这是代码:

const TodoSchema = new mongoose.Schema({
    name:  String,
})
const todo = mongoose.model('todo', TodoSchema)

const TodoTitleSchema = new mongoose.Schema({
    title: String,
    content: [TodoSchema],
})
const todoTitle = mongoose.model('todoTitle', TodoTitleSchema)

app.post('/removeTodo',(req,res)=>{
    let todoID = req.body.removeTodo;
    todoTitle.findOneAndDelete({content:[{_id: todoID}]}, (err, foundtodo)=>{
        console.log(foundtodo);
        if(err){
            console.log(err)
        }
        res.redirect('/');
    })
})

1 个答案:

答案 0 :(得分:0)

你好所以我终于想通了,我不得不写这段代码:

todoTitle.findOneAndUpdate({_id: listID}, {$pull: {content: {_id: todoID}}}, (err, foundtodo)=>{
        if(err){
            console.log(err)
        }
    })

错误实际上是由未定义的 ID 引起的,所以我修复了该部分,现在它可以工作了。