Отправка POST-запроса и обработка нескольких вложенных массивов в mongoose - PullRequest
0 голосов
/ 10 марта 2020

Получение ошибки при отправке запроса POST через mon goose. Моя модель выглядит следующим образом:

const local_lr_urllog_schema = new Schema(
    {  
        local_parameters: [
            {
                source_url: String,
                abstract:String,
                non_abstract: String,
            }
        ],
        api_parameters: [
            {
                type_of: String,
                domain_name: String,
                comment: String
            }
        ]
    }
);

, а мой контроллер -

const add_records = async (req, res) => {
    const records = new Addlogurl({
        local_parameters: [
          { 
            source_url: req.body.local_parameters[0].source_url, 
            abstract: req.body.local_parameters[0].abstract,
            non_abstract: req.body.local_parameters[0].non_abstract,
          }
        ],
        api_parameters:[
          {
            type_of: req.body.api_parameters[0].type_of,
            domain_name: req.body.api_parameters[0].domain_name,
            comment: req.body.api_parameters[0].comment,
          }
        ]
      });
    try {
        await records.save();
    } catch (err) {
        res.status(messages.status.serverError).json({ errors: err });
        return next(errors);
    }
    res.status(messages.status.OK).json({records: records.toObject({ getters: true })});
};

. Я получаю ошибку UnhandledPromiseRejectionWarning: TypeError: Cannot read property '0' of undefined at add_records при пропуске массива через api_parameters. Когда я комментирую api_parameters, я могу отправить массив через local_parameters.

...