Я пытаюсь добавить API комментариев для пользователя. Я определил другую схему модели 'userMessages' и использовал userId в качестве ссылки для схемы 'User'. Я попытался опубликовать маршрут для комментария, но получил ошибку проверки, даже когда я определил userId и Comment String, как истинные.
Это моя схема для пользовательских сообщений:
const userMessages = mongoose.Schema({
_id: mongoose.Schema.Types.ObjectId,
userId: { type: mongoose.Schema.Types.ObjectId, ref: 'User', required: true},
message: { type: String, required: true },
});
Вот мой контроллер для добавления сообщения:
exports.post_comment = (req, res, next) => {
let body = req.body;
body._id = mongoose.Types.ObjectId();
const userId = req.userData.user[0]._id;
body.userId = userId._id;
const commentSchema = new CommentSchema(body);
commentSchema.save()
.then(docs => {
console.log('user commented: ', docs);
res.status(201).json(docs);
})
.catch(err => {
console.log(err);
res.status(500).json(err);
})
}
Когда я пытаюсь найти маршрут userMsg / comment, используя почтальон с 'userId and message' в качестве параметров моего необработанного тела, я получаю следующую ошибку:
{
"errors": {
"userId": {
"message": "Path `userId` is required.",
"name": "ValidatorError",
"properties": {
"message": "Path `userId` is required.",
"type": "required",
"path": "userId"
},
"kind": "required",
"path": "userId"
}
},
"_message": "UserMessages validation failed",
"message": "UserMessages validation failed: userId: Path `userId` is required.",
"name": "ValidationError"
}
Я не могу понять проблему даже после определения ИД пользователя и сообщения как ИСТИНА.