【问题标题】:Delete Document in mongodb via mongoose通过 mongoose 删除 mongodb 中的文档
【发布时间】:2020-07-15 16:35:57
【问题描述】:

我将数据存储在 mongodb 中并使用 mongoose 访问和删除它。我有一个带有 no_of_student、school_id 的模式类。我已成功添加文档,但删除文档时出错。

我尝试过使用 Model.remove 函数、Model.findbyIdAndRemove 函数和 Model.findOneAndDelete 来删除文档,但没有成功。 它给了我一个 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)

【问题讨论】:

    标签: node.js mongodb mongoose


    【解决方案1】:

    应该是req.params.id 而不是req.param.id

    【讨论】:

      猜你喜欢
      • 2013-09-04
      • 1970-01-01
      • 1970-01-01
      • 2022-01-18
      • 1970-01-01
      • 1970-01-01
      • 2011-05-28
      相关资源
      最近更新 更多