Receiving a mongoose validation error, even if files are provided

I get a validation error with the following message about saving to the database, although I provided all the fields,

{ [ValidationError: Validation failed] message: 'Validation failed', name: 'ValidationError', errors: { Name: { [ValidatorError: Path `Name` is required.] message: 'Path `Name` is required.', name: 'ValidatorError', path: 'Name', type: 'required', value: undefined } } } 

This is how the object I'm trying to save looks like

  { Name: 'Nobody Singh', phone: '+919177121364', address: 'flat no 306 koratala apartments\nstreet no 3 ,Himayatnagar, Near Siraj plaza', start: '2014-12-03T13:00:00.000Z', end: '2014-12-03T15:00:00.000Z', details: 'flat no 306 koratala apartments\nstreet no 3 ,Himayatnagar, Near Siraj plaza' } 

here is a diagram

  // load the things we need var mongoose = require('mongoose'); // define the schema for our user model var appointmentSchema = mongoose.Schema({ email: { type: String, default: ' maisnamraj@gmail.com ' }, name: { type: String, required:true }, phone: { type:Number }, address:{ type: String }, details:{ type: String }, title:{ type: String, default: "Slot Taken"}, start: { type:Date}, end: { type:Date}, requestedDate: { type:Date, default: Date.now } }); // create the model for users and expose it to our app module.exports = mongoose.model('Appointment', appointmentSchema); 

Here is the route file

 app.post('/saveappointment', function(req, res) { var appointment = new Appointment(); var appointMent = { //need to add an email here name: req.body.name, phone: req.body.phone, address: req.body.address, start: req.body.appointment.start, end:req.body.appointment.end, details:req.body.details, address:req.body.address }; console.log(appointMent); appointment.save(appointMent, function(err,resp) { if(err) { console.log(err); res.send({ message :'something went wrong' }); } else { res.send({ message:'the appointment has bees saved' }); } }); }) 
+5
source share
2 answers

Try this code below and let me know if the same error appears.

 app.post('/saveappointment', function(req, res) { var appointment = new Appointment({ //need to add an email here name: req.body.name, phone: req.body.phone, address: req.body.address, start: req.body.appointment.start, end: req.body.appointment.end, details: req.body.details, address: req.body.address }); appointment.save(function(err, resp) { if (err) { console.log(err); res.send({ message: 'something went wrong' }); } else { res.send({ message: 'the appointment has been saved' }); } }); }); 
+9
source

You need to install ( npm install body-parser --save ) and use it on your express server, as shown below (app.js). hope this answer helps someone :)

 var express = require('express') var bodyParser = require('body-parser') var app = express() app.use(bodyParser.json()) app.use('/api',api) module.exports = app 
0
source

Source: https://habr.com/ru/post/1208111/


All Articles