Разместить текст и изображение человека в mongodb, используя nodejs - PullRequest
0 голосов
/ 25 декабря 2018

Я пытаюсь добавить имя человека и его / ее изображение в mongodb, используя экспресс-узел js, и раньше я пытался добавить только тексты в mongodb или только изображение в mongodb, и они отлично работают, но когда я пытаюсь смешать тексти файл в запросе на сохранение сообщения Я запутался, так что это код маршрута в личном файле:

router.post('/add', (req, res) => {
  const validating = personValidating(req.body);
  if (validating.error) {
    res.status(400).send(validating.error.details);
  } else {
    fileName = uuidv1(); // this to generate random name for image that I uploaded
    const person = new Person({
      _id: new mongoose.Types.ObjectId(),
      image: req.file.image,
      name: req.body.name
    });
    const v = person.validateSync();
    if (v)
      res.status(400).send('There is somthing wrong');
    person.save()
      .then(result => {
        res.send('You have added a new person');
        console.log(result);
      })
      .catch(err => {

        res.status(401).send(err);
        console.log(err);
      });
  }
});

, и я создаю простой код, который одновременно сохраняет изображение в папку на сервере:

image.mv(`./public/${fileName}.png`, function(err) {
    if (err)
      return res.status(500).send(err);
    res.send('File uploaded!');
  });

но как объединить сохранение самого изображения в папке и путь к этому изображению в mongodb с именем человека

, а также функция проверки:

function personValidating(book) {
  const personSchema = {
    'image': Joi.string().required(),
    'name': Joi.string().required()
  }
  return Joi.validate(person, personSchema);
}

и это схема базы данных в файле модели персонажа:

const mongoose = require('mongoose');

const personSchema = mongoose.Schema({
    _id: mongoose.Schema.Types.ObjectId,
    image: {
      type: String,
      required: [true, 'Image Is Required']
    },
    name: {
      type: String,
      required: [true, 'Name Is Required']
    },

  });

module.exports = mongoose.model('Person', personSchema);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...