使用nodejs更新mongoDB中的表单值时出错

问题描述 投票:0回答:1

Post Delete选项工作正常,但put不能正常更新,但函数String(){[native code]}值。

controller.ts

router.put('/:id', (req,res)=> {
    if (!ObjectId.isValid(req.params.id)) {
        return res.status(400).send('No record with the given Id ${req.params.id}');
    }

    var emp = {
        email: String,
        name : String ,
        position :  String ,
        office : String,
        // salary : Number
    };

    Employee.findByIdAndUpdate(req.params.id, { $set : emp },(err,docs) => {
        if (!err) {
            res.send(docs);
        } else {
            console.log('Error in Updating the Employee details' + JSON.stringify(err,undefined,2))
        }
    });
});

model.ts

const mongoose = require('mongoose');

var Employee = mongoose.model('Employee',{
    name : String ,
    position :  String ,
    office : String,
    salary : Number,
    email : String,
})

module.exports = { Employee }
node.js mongodb express mongoose put
1个回答
0
投票

你必须使用req.body.id而不是req.params.id,因为params只会在get方法的情况下返回。

© www.soinside.com 2019 - 2024. All rights reserved.