Я не могу сохранить идентификатор кампании в схеме фото. Я отправляю форму загрузки изображений с / отправить маршрут и собираю фотографии. Я хочу показать фотографии, которые имеют отношение к конкретной 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"