Я не смог сохранить идентификатор модели кампании в целой фотомодели с указанием ссылок в мангусте - PullRequest
0 голосов
/ 09 февраля 2020

Я не могу сохранить идентификатор кампании в схеме фото. Я отправляю форму загрузки изображений с / отправить маршрут и собираю фотографии. Я хочу показать фотографии, которые имеют отношение к конкретной c кампании. У меня есть другая схема, которая связана со схемой кампании.

Схема кампании: var mon goose = require ('mon goose');

var Schema = mongoose.Schema;

var campaignSchema = new Schema({
    Title: {type: String},
    Description:  { type: String },
    Rules:  {} ,
    Banner:  { type: String },
    userId: { 
      type: Schema.Types.ObjectId, 
      ref: 'User', 
    } 

  });

 module.exports = mongoose.model('Campaigns', campaignSchema);

**Photo schema:**

var mongoose = require('mongoose');

var Schema = mongoose.Schema;

var photoSchema = new Schema({
    fullname: {type: String},
    email:  { type: String },
    country:  { type: String },
    phonenumber:  { type: Number },
    File:  { type: String },
    caption: { type: String },
    campId:{
      type: Schema.Types.ObjectId, 
      ref: 'Campaigns',
    }
  });

module.exports = mongoose.model('Photos', photoSchema);

**Post route to save the data:** 

router.post('/success', function(req, res) {

  let filename = '';

  if(!isEmpty(req.files)) {
      let file = req.files.uploadedFile;
      filename = file.name;
      let uploadDir = './public/campaign/files/';

      file.mv(uploadDir+filename, (err) => {
          if (err)
              throw err;
      });
  }

  const photo = new Photo({
    fullname:req.body.fullname,
    email:req.body.email ,
    country:req.body.country, 
    phonenumber:req.body.phonenumber,  
    File:`/campaign/files/${filename}`,
    caption:req.body.caption,
    campId:req.campaign._id
  });
   photo.save().then(post => {

    console.log(photo);

       res.render('success');

   });
});

**form submission route:** This is there route where i am sending form to collect photos

router.get('/submit', function(req, res, next) {

  Campaign.find({}, function(err, campaigns) {
    res.render('index' );
  });
});

Мой вопрос в том, что все выглядит хорошо, но не могу сохранить идентификатор кампании. Нужно ли отправлять переменную id кампании через маршрут отправки? как я могу получить доступ к "req.campaign._Id"

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