繁体   English   中英

通过 mongoose 删除 mongodb 中的文档

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM