[英]Deleting an element from an Array, that is inside an Object
在我的待办事项应用程序中,当登录用户完成一项任务时,我想将其从 MongoDB 数据库中清除。
这是我的架构的代码。
const user = new mongoose.Schema({
username : String,
password : String,
task : [{
text : String,
day : String,
reminder : Boolean,
]}
})
例如,如果 Daryl 完成了text: "Gym" & day: "Feb 4th 5.30pm" ,我只想从 Daryl 的任务数组中删除任务 [0]。
这是我尝试使用 ZCCADCDEDB567ABAE643E15DCF0974E503Z 这样做,
app.delete("/tasks", (req,res) => {
User.findOne( {_id : req.user.id}).then((target) => {
target.task.remove({text : req.body.text, day : req.body.day})
})
})
我有 console.logged() 所有变量,它与数据字段相符,但是条目没有被删除。 我究竟做错了什么?
我设法解决了我的问题,希望这对其他人有帮助
app.delete("/tasks", (req, res) => {
User.findByIdAndUpdate(req.user.id, {$pull: {"task": {text: req.body.text}}}, {safe: true, upsert: true},
function (err, node) {
// console.log here for debugging, if you want
})
})
这成功地删除了基于
我仍然不明白为什么我之前的尝试失败了,但至少这个有效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.