Я пытался вставить новый документ в свою коллекцию со схемой и маршрутизатором следующим образом:
SCHEMA
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const activitySchema = new Schema({
date: { type: String, required: true},
type: { type: String, required: true},
text: { type: String, required: true},
members: { type: String, required: true}
});
const Activity = mongoose.model('Activity', activitySchema);
module.exports = Activity;
ROUTER
router.route('/add').post((req, res) => {
const dateP = req.body.date;
const typeP = req.body.type;
const textP = req.body.text;
const membersP = req.body.members;
const newActivity = new Activity({
date: dateP,
type: typeP,
text: textP,
members: membersP
});
newActivity.save()
.then(() => res.json('Activity added!'))
.catch(err => res.status(400).json('Error: ' + err));
});
Но когда я отправляю JSON тело через POSTMAN, я получаю следующую ошибку:
"Error: ValidationError: date: Path `date` is required., type: Path `type` is required., text: Path `text` is required., members: Path `members` is required."
И мое тело:
{
"date": "2020-01-29",
"type": "Night Course",
"text": "Biology",
"members": "Class 9a"
}
Но когда я использую x- www-form-urlencoded с пакетом body-parser, это работает. Что здесь происходит? Почему я не могу получить значение из моего JSON файла?
Редактировать: Я использую анализатор тела:
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
app.use(bodyParser.raw());
Но все же, работает только urlencoded ..