Данные не записываются в поддокументы в MongoDB - PullRequest
0 голосов
/ 24 августа 2018

Я использую Node.js + Express для бэкенда и MongoDB для базы данных.Моя проблема в том, что когда я записываю данные в базу данных, вложенные документы остаются пустыми, т.е. я не могу записать данные в вложенные документы.

Ответ

Поля employeeInformationДо отмены повода есть все поддокументы.Когда я делаю console.log из req.body, я вижу, что мои поля заполнены правильными значениями, но в MongoDB и в ответе данных нет.Я также могу писать хорошо, используя Почтальон.

Вот мой код app.post:

// POST
app.post('/create-incident', (req, res) => {
  let incidentNumber = functions.createIncidentNumber();
  let status = 'New';

  const incidentHeader = new IncidentHeader({
    incidentNumber: incidentNumber,
    status: status,
    employeeInformation: req.body.employeeInformation,
    incidentDetail: req.body.incidentDetail,
    spi: req.body.spi,
    investigationDetail: req.body.investigationDetail,
    recommendation: req.body.recommendation,
    dataPrivacyDetail: req.body.dataPrivacyDetail,
    infrastructureDetail: req.body.infrastructureDetail,
    dataElement: req.body.dataElement,
    processIncident: req.body.processIncident,
    legislation: req.body.legislation,
    dataPrivacyEducation: req.body.dataPrivacyEducation,
    rca: req.body.rca,
    approval: req.body.approval,
    auditTrail: req.body.auditTrail,
    cancellationReason: req.body.cancellationReason
  });

  console.log(`req.body: ${JSON.stringify(req.body)}`);

  incidentHeader
    .save()
    .then(IncidentHeader => {
      res.status(200).send(JSON.stringify(IncidentHeader));
      console.log('Saved to IncidentHeader.');
    })
    .catch(e => {
      return res.status(400).send(e);
      console.log('Unable to save to IncidentHeader.');
    });
});

Что я могу здесь делать неправильно?

Вот ссылка наМой проект GitHub, если вы хотите проверить код дальше.Заранее спасибо.

GitHub Repo

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