我正在尝试删除一个集合内的特定文档,该集合也位于另一个集合内。例如:我有一个名为 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('/');
})
})
答案 0 :(得分:0)
你好所以我终于想通了,我不得不写这段代码:
todoTitle.findOneAndUpdate({_id: listID}, {$pull: {content: {_id: todoID}}}, (err, foundtodo)=>{
if(err){
console.log(err)
}
})
错误实际上是由未定义的 ID 引起的,所以我修复了该部分,现在它可以工作了。