Estoy tratando de eliminar un documento específico que está dentro de una colección que también está dentro de otra colección. Por ejemplo: tengo una colección llamada todoTitle y dentro tiene una matriz de otra colección llamada todo, quiero encontrar esa colección de todo específica que está dentro de la matriz y eliminarla. Estoy tratando de usar findOneAndDelete pero no funciona. aquí está el código:
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('/'); }) })Hola, finalmente lo descubrí, tuve que escribir este código:
todoTitle.findOneAndUpdate({_id: listID}, {$pull: {content: {_id: todoID}}}, (err, foundtodo)=>{ if(err){ console.log(err) } })y el error en realidad se debió a que la ID no estaba definida, así que arreglé esa parte y ahora funciona.