Исправление ошибки проверки для определенной схемы в узле js - PullRequest
0 голосов
/ 10 января 2019

Я пытаюсь добавить 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"
}

Я не могу понять проблему даже после определения ИД пользователя и сообщения как ИСТИНА.

1 Ответ

0 голосов
/ 10 января 2019

Ошибка в этих строках:

const userId = req.userData.user[0]._id;
body.userId = userId._id;

Должно быть:

const userId = req.userData.user[0]._id;
body.userId = userId;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...