Запрос на отправку: отправка значений через массивы в Mongoose - PullRequest
0 голосов
/ 10 марта 2020

Я должен отправить запрос на отправку некоторых значений с понедельника goose. Файл моей модели выглядит следующим образом:

const local_lr_urllog_schema = new Schema(
    {       
        domain_name:{
           type: String
        },

        comment:{
            type: String
        },
        local_parameters:[
            {
                source_url: String,
                abstract:String,
                non_abstract: String   
            }
    ],


    }
);

//Export model
module.exports = mongoose.model('Addlogurl', local_lr_urllog_schema);

Мой контроллер выглядит следующим образом:

const add_records = async (req, res) => {


     const records = new Addlogurl({

        domain_name:req.body.domain_name,

        comment:req.body.comment,
        local_parameters:[{source_url: req.body.source_url, abstract: req.body.abstract}]
  });




  try {
    await records.save();
  } catch (err) {

    return next(errors);
  } //res.status(messages.status.OK).json(list);
  res.status(messages.status.OK).json({records: records.toObject({ getters: true })});

  };

Поэтому мой почтальон генерирует значения идентификатора для source_url и abstract.

Изображение почтальона

Не можете понять, где я иду не так?

Ответы [ 2 ]

0 голосов
/ 10 марта 2020

что делать, если у меня есть другой подмассив ..

local_parameters: [ { source_url: req.body.local_parameters[0].source_url, abstract: req.body.local_parameters[0].abstract } ], 

remote_parameters: [ { destination_url: req.body.local_parameters[0].destination_url, abstract_des: req.body.local_parameters[0].abstract_des} ].

Это не работает, когда я отправляю запрос на удаленные параметры

0 голосов
/ 10 марта 2020

Проблема в правильном построении только нового объекта goose. Здесь вы ссылаетесь source_url и abstract как req.body.source_url и req.body.abstract , что неверно, потому что те не ' t непосредственно под основным уровнем объекта вашего запроса, но только под первым элементом массива local_parameters. Изменение этого должно помочь. Проблема здесь в том, что эти значения отображаются как неопределенные, а неопределенные значения удаляются с помощью mon goose.

const records = new Addlogurl({
  domain_name: req.body.domain_name,

  comment: req.body.comment,
  local_parameters: [
    { source_url: req.body.local_parameters[0].source_url, abstract: req.body.local_parameters[0].abstract }
  ]
});
...