Display data from nested query nodejs in pug form
up vote
0
down vote
favorite
I am trying to build a portal where users will upload photos and corresponding disclosures(having details about the uploaded pics). Users will send the disclosures and the photos for review. The review is a Schema as below:
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}) ;
});
});
This prints:
5be69b9ef365292b0ccf4067
undefined
undefined
Next
(node:4216) [DEP0079] DeprecationWarning: Custom inspection function on Objects
via .inspect() is deprecated
The Review Schema is:
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',
}],
});
The reviewMap is:
{ '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 ] } }
My question is how do I display the Review ID, Disclosure ID and the Photos uploaded for this review inside the Pug form(res.render('review')
). I am not able to display the pics using only the doc_id in the Pug form, if I pass only the reviewList directly. It would also be fine if there is a method to display data from nested schemas using only ObjectID
of the Schemas.
Can you please point me in the right direction?
Thanks,
Prathamesh
javascript node.js mongodb pug mongoose-schema
add a comment |
up vote
0
down vote
favorite
I am trying to build a portal where users will upload photos and corresponding disclosures(having details about the uploaded pics). Users will send the disclosures and the photos for review. The review is a Schema as below:
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}) ;
});
});
This prints:
5be69b9ef365292b0ccf4067
undefined
undefined
Next
(node:4216) [DEP0079] DeprecationWarning: Custom inspection function on Objects
via .inspect() is deprecated
The Review Schema is:
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',
}],
});
The reviewMap is:
{ '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 ] } }
My question is how do I display the Review ID, Disclosure ID and the Photos uploaded for this review inside the Pug form(res.render('review')
). I am not able to display the pics using only the doc_id in the Pug form, if I pass only the reviewList directly. It would also be fine if there is a method to display data from nested schemas using only ObjectID
of the Schemas.
Can you please point me in the right direction?
Thanks,
Prathamesh
javascript node.js mongodb pug mongoose-schema
You should consider editing this question to shrink it down to only the code relevant to your problem - there are a lot of details around retrieving the data and how it is stored yet that is not where your problem lies. However, as you are having issues with your pug template then you should also include that in the edit.
– Graham
Nov 11 at 23:02
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I am trying to build a portal where users will upload photos and corresponding disclosures(having details about the uploaded pics). Users will send the disclosures and the photos for review. The review is a Schema as below:
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}) ;
});
});
This prints:
5be69b9ef365292b0ccf4067
undefined
undefined
Next
(node:4216) [DEP0079] DeprecationWarning: Custom inspection function on Objects
via .inspect() is deprecated
The Review Schema is:
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',
}],
});
The reviewMap is:
{ '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 ] } }
My question is how do I display the Review ID, Disclosure ID and the Photos uploaded for this review inside the Pug form(res.render('review')
). I am not able to display the pics using only the doc_id in the Pug form, if I pass only the reviewList directly. It would also be fine if there is a method to display data from nested schemas using only ObjectID
of the Schemas.
Can you please point me in the right direction?
Thanks,
Prathamesh
javascript node.js mongodb pug mongoose-schema
I am trying to build a portal where users will upload photos and corresponding disclosures(having details about the uploaded pics). Users will send the disclosures and the photos for review. The review is a Schema as below:
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}) ;
});
});
This prints:
5be69b9ef365292b0ccf4067
undefined
undefined
Next
(node:4216) [DEP0079] DeprecationWarning: Custom inspection function on Objects
via .inspect() is deprecated
The Review Schema is:
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',
}],
});
The reviewMap is:
{ '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 ] } }
My question is how do I display the Review ID, Disclosure ID and the Photos uploaded for this review inside the Pug form(res.render('review')
). I am not able to display the pics using only the doc_id in the Pug form, if I pass only the reviewList directly. It would also be fine if there is a method to display data from nested schemas using only ObjectID
of the Schemas.
Can you please point me in the right direction?
Thanks,
Prathamesh
javascript node.js mongodb pug mongoose-schema
javascript node.js mongodb pug mongoose-schema
asked Nov 11 at 7:31
Capricorn
3261414
3261414
You should consider editing this question to shrink it down to only the code relevant to your problem - there are a lot of details around retrieving the data and how it is stored yet that is not where your problem lies. However, as you are having issues with your pug template then you should also include that in the edit.
– Graham
Nov 11 at 23:02
add a comment |
You should consider editing this question to shrink it down to only the code relevant to your problem - there are a lot of details around retrieving the data and how it is stored yet that is not where your problem lies. However, as you are having issues with your pug template then you should also include that in the edit.
– Graham
Nov 11 at 23:02
You should consider editing this question to shrink it down to only the code relevant to your problem - there are a lot of details around retrieving the data and how it is stored yet that is not where your problem lies. However, as you are having issues with your pug template then you should also include that in the edit.
– Graham
Nov 11 at 23:02
You should consider editing this question to shrink it down to only the code relevant to your problem - there are a lot of details around retrieving the data and how it is stored yet that is not where your problem lies. However, as you are having issues with your pug template then you should also include that in the edit.
– Graham
Nov 11 at 23:02
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53246707%2fdisplay-data-from-nested-query-nodejs-in-pug-form%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
You should consider editing this question to shrink it down to only the code relevant to your problem - there are a lot of details around retrieving the data and how it is stored yet that is not where your problem lies. However, as you are having issues with your pug template then you should also include that in the edit.
– Graham
Nov 11 at 23:02