Tengo problemas para eliminar todos los elementos de una matriz en mongodb. Este es mi esquema:
const userSchema=mongoose.Schema({ name: String, email: String, password: String, blog: [{ date: Date, post: String }], week: [{ weekday: String, tasks:[String] }], todo: [String] }); const User= mongoose.model("User", userSchema);Quiero eliminar todos los datos de todo pero no funciona. Aquí está el código para eso:
app.post("/deletelist",(req,res) =>{ console.log(req.body); const user = req.body.userid; console.log(user); // User.find({_id: user}, async function(err, foundUser){ // if(err){ // console.log(err); // } else{ // foundUser.updateOne({},{ $set : {"todo": [] }} , {multi:true}); // // await foundUser.save(); // res.send("ToDo Deleted"); // } // }); User.updateOne({_id:user},{ $set : {"todo": []}}, {multi:true}); res.send("ToDo Deleted"); });Estoy recibiendo usuario de la interfaz. La parte que se comenta y la otra (User.updateOne) no funcionan. Me alegraré si alguien puede ayudar
esto eliminará todos los elementos, incluso la clave, si desea eliminar los elementos, solo intente la respuesta de @Abdelrhman
User.updateOne({_id:user},{$unset:{todo:""}})No puede usar opciones múltiples en el método updateOne, elimínelo y funcionará
Ejemplo
User.updateOne({_id:user},{ $set : {"todo": []}})