Я пытаюсь создать портал, где пользователи будут загружать фотографии и соответствующие раскрытия (с информацией о загруженных фотографиях). Пользователи будут отправлять раскрытия и фотографии для просмотра. Схема обзора приведена ниже:
router.get('/reviews', function(req, res) {
var reviewMap = {};
var disclosureMap = {};
var photoMap = {};
Review.find({}, function(err, reviews) {
if(err) throw err;
reviews.forEach(function(review) { // Iterate over all reviews
reviewMap[review._id] = review;
Disclosure.findById(review.disc_id, function(err, disclosure){ // Find disclosure id of that review
if(err) throw err;
// console.log(disclosure) // This prints the whole disclosure properly
disclosureMap[review._id] = disclosure;
});
Photo.find({
'_id': { $in: review.doc_id
}
}, function(err, docs){
//console.log(docs); // This prints out details about the pics properly
photoMap[review._id] = docs;
});
});
//console.log(reviewMap);
for(var index in reviewMap) {
console.log(index);
console.log(disclosureMap[index]);
console.log(photoMap[index]);
console.log("Next");
}
res.render('reviews', { title: 'Photo Reviews', msg:req.query.msg,
reviewlist: reviewMap}) ;
});
});
Это печатает:
5be69b9ef365292b0ccf4067
undefined
undefined
Next
(node:4216) [DEP0079] DeprecationWarning: Custom inspection function on Objects
via .inspect() is deprecated
Схема обзора:
let reviewSchema = mongoose.Schema({
ts: { type: String },
disc_id: {
type: mongoose.Schema.Types.ObjectId,
ref: 'Disclosure',
},
doc_id: [{
type: mongoose.Schema.Types.ObjectId,
ref: 'Photos',
}],
});
ОбзорКарта:
{ '5be69b9ef365292b0ccf4067':
{ _id: 5be69b9ef365292b0ccf4067,
disc_id: 5be576add1c7b62438c804c7,
ts: 'Sat Nov 10 2018 14:19:34 GMT+0530 (India Standard Time)',
__v: 0,
doc_id: [ 5be536fcb01fac1c4c94ae87, 5be536d0b01fac1c4c94ae86 ] } }
Мой вопрос заключается в том, как отобразить идентификатор обзора, идентификатор раскрытия и фотографии, загруженные для этого обзора, в форме мопса (res.render('review')
). Я не могу отобразить фотографии, используя только doc_id в форме Pug, если я передаю только reviewList напрямую. Также было бы хорошо, если бы существовал метод для отображения данных из вложенных схем, используя только ObjectID
из Схем.
Не могли бы вы указать мне правильное направление?
Спасибо,
Prathamesh