Reputation: 491
I am attempting to use Postman to insert an entry to my mongo database, however I am being presented with the following:
{"content":{"message":"Validation failed","name":"ValidationError","errors":{"name":{"message":"Path `name` is required.","name":"ValidatorError","path":"name","type":"required"}}}}
And here is the relevant controller from my API:
var mongoose = require('mongoose');
var Course = mongoose.model('Course');
var sendJSONResponse = function(res, status, content){
res.status(status);
res.json({content});
}
module.exports.makeCourse = function(req, res){
Course.create({
name: req.body.courseName
},function(err, course){
if(err){
sendJSONResponse(res, 400, err);
} else{
sendJSONResponse(res, 201, course);
}
})
};
module.exports.listCourses = function(req, res){
Course.find({}, function(err, course){
sendJSONResponse(res, 200, course);
})
};
module.exports.courseIDLookup = function(req, res){};
module.exports.deleteCourse = function(req, res){};
And the data model as well:
var mongoose = require('mongoose')
var subject = require('./subject.js');
var courseSchema = new mongoose.Schema({
name : {type: String,
unique: true,
required: true},
subjects : [subject.schema]
});
module.exports = mongoose.model('Course', courseSchema);
What error am I making when creating this entry?
Upvotes: 0
Views: 170
Reputation: 383
If name
is your key,
name: req.body.courseName
should be
name: req.body.name
Upvotes: 1