Добавить данные функции в мою модель - Узел / Экспресс - PullRequest
0 голосов
/ 30 января 2020

У меня есть форма с полями ввода "firstName", "lastName" и "assetTag". Я хочу отправить эту форму и опубликовать все эти данные плюс одно дополнительное поле с именем "modelType". Данные из поля modelType взяты из вызова функции si.system () , но я не уверен, как передать это в Model, потому что это обещание.

Как я могу передать данные из моего console.log (data.model) в мое formData?

app. js почтовый запрос:

app.post('/', (req, res) => {

        si.system()
    .then(data => console.log(data.model))
    .catch(error => console.error(error))

  const formData = {
    firstName: req.body.firstName,
    lastName: req.body.lastName,
    assetTag: parseInt(req.body.assetTag)
  }

  const system = new System(formData);

  system.save()
    .then(result => {
      console.log(result);
    })
    .catch(err => {
      console.log(err);
    });

});

Модель:

const mongoose = require('mongoose');

var SystemSchema = new mongoose.Schema({
    firstName: {
        type: String,
        required: true
    },
    lastName: {
        type: String,
        required: true
    },
    assetTag: {
        type: Number,
        required: true
    },
    modelType: {
        type: String,
        required: true
    }
});

module.exports = mongoose.model('System', SystemSchema);

1 Ответ

1 голос
/ 30 января 2020

, если вы говорите о получении этого значения из обещания, вам нужно посмотреть asyn c / await .

вот код

app.post('/', async (req, res) => {

  let data = await si.system();

  const formData = {
    firstName: req.body.firstName,
    lastName: req.body.lastName,
    modelType: data.model,
    assetTag: parseInt(req.body.assetTag)
  }

  const system = new System(formData);

  system.save()
    .then(result => {
      console.log(result);
    })
    .catch(err => {
      console.log(err);
    });

});

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...