[英]Delete Document in mongodb via mongoose
我将数据存储在 mongodb 并使用 mongoose 访问和删除它。 我有一个架构 Class 和 no_of_student,school_id。 我已成功将文档添加到其中,但在删除文档时出现错误。
I have tried Model.remove function, Model.findbyIdAndRemove function and Model.findOneAndDelete to delete a document but it didn't working. 它给了我一个 ok:1 和 deletedCount:0 的返回消息。
const express = require('express');
const router = express.Router()
const Class = require('../models/classes')
router.get('',(req,res,next)=>{
Class.find((err,classes)=>{
res.json(classes)
})
})
router.post('',(req,res,next)=>{
let newClass = new Class({
classes:req.body.classes,
no_of_student:req.body.no_of_student,
school_id:req.body.school_id
})
newClass.save((err,classes)=>{
if(err){
res.json("Failed to Add Class")
}
else if(classes){
res.json("Class Added Successfully!")
}
})
})
router.delete('/:id',(req,res,next)=>{
Class.deleteOne({_id:req.param.id},(err,result)=>{
if(err){
res.json(err)
}
else if(result){
res.json(result)
}
})
})
module.exports = router
架构代码:
const mongoose = require('mongoose');
const Classes = mongoose.Schema({
classes :{
type:Array,
},
no_of_student:{
type:Number
},
school_id:{
type:Number,
required:true
}
})
const Class = module.exports = mongoose.model('Class',Classes)
它应该是req.params.id
而不是req.param.id
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.