Node.js 无法在nodejs中通过post方法插入数据?
我是个新手。我不能在nodejs中使用post方法将任何数据插入mongoDB。在这里,我添加了所有相关的nodejs代码。 . . . . . . . . . index.jsNode.js 无法在nodejs中通过post方法插入数据?,node.js,mongodb,post,postman,mean-stack,Node.js,Mongodb,Post,Postman,Mean Stack,我是个新手。我不能在nodejs中使用post方法将任何数据插入mongoDB。在这里,我添加了所有相关的nodejs代码。 . . . . . . . . . index.js const express = require('express'); const bodyParser = require('body-parser'); const { mongoose } = require('./db.js'); var employeeController = require('../
const express = require('express');
const bodyParser = require('body-parser');
const { mongoose } = require('./db.js');
var employeeController = require('../node/controller/employeeController');
var app = express(); //calling express
app.use(bodyParser.json()); //congigure express to send JSON data
var urlencoded_body_parser = bodyParser.urlencoded({
extended: true
});
app.listen( 3000, () =>
console.log("Server started successfully at Port 3000.")
);
app.use('/employees' , employeeController);
app.use(urlencoded_body_parser);
employee.js
const mongoose = require('mongoose');
var Employee = mongoose.model('Employee',{
name : String ,
position : String ,
office : String,
salery : Number
})
module.exports = { Employee };
employeeController.js
const express = require('express')
var router = express.Router();
var ObjectId = require('mongoose').Types.ObjectId;
var { Employee } = require('../model/employee');
router.post('/', (req,res) => {
var emp = new Employee({
name : req.body.name,
position : req.body.position,
office : req.body.office,
salary : req.body.salary
});
emp.save((err,doc) =>{
if (!err){
res.send(doc);
console.log(doc);
} else {
console.log("Operation Failed : " + JSON.stringify(err,undefined,2));
}
})
});
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 = {
name : String ,
position : String ,
office : String,
salery : 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))
}
});
});
module.exports = route
当我使用postman插入数据时,它只向db插入_id和_v。没有我的JSON数据 看起来您只向服务器发送原始文本。 要解决此问题,您需要指定内容类型为
application/json
在《邮递员》中可能是这样的:
看起来您只向服务器发送原始文本。 要解决此问题,您需要指定内容类型为
application/json
在《邮递员》中可能是这样的:
您的
req.body.name
和其他req.body.
参数是未定义的
因此首先确保req.body
包含body参数您的req.body.name
和其他req.body.
参数是未定义的
因此首先确保req.body
包含bodyparams