Code:
/**
* Rollercoaster Schema
*/
var RollercoasterSchema = new Schema({
name: {
type: String,
default: '',
required: 'Please fill Rollercoaster name',
trim: true
},
created: {
type: Date,
default: Date.now
},
});
Code:
/**
* Coasterreview Schema
*/
var CoasterreviewSchema = new Schema({
review: {
type: String,
default: '',
required: 'Please fill Coasterreview review',
trim: true
},
created: {
type: Date,
default: Date.now
},
rollercoaster: {
type: Schema.ObjectId,
ref: 'Rollercoaster'
}
});
Code:
Rollercoaster.find(query).sort('-created').populate('userame').populate('themepark').exec(function(err, rollercoasters) {
if (err) {
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
});
} else {
//list of ids
var rcIds = rollercoasters.map(function(el){return el._id;});
//select all reviews with 'rollercoaster' = any _id from list
CoasterReview
.find({'rollercoaster':{$in:rcIds}}).sort('-created').exec(function(err, reviews) {
//res.jsonp(rollercoasters);
res.jsonp(reviews);
});
}
});
Code:
[
{
"_id": "55c2106227f2a878292a564d",
"__v": 0,
"created": "2015-08-05T13:32:18.473Z",
"name": "Jurassic Park : The Ride",
coasterreviews: [
{
"_id": "55dcbd9662a5516c39d27946",
"rollercoaster": "55c2106227f2a878292a564d",
"__v": 0,
"created": "2015-08-25T19:10:14.392Z",
"review": "The theming is fantastic"
},
{
"_id": "55d8bb292d03db3c1310d465",
"rollercoaster": "55c2106227f2a878292a564d",
"__v": 0,
"created": "2015-08-22T18:10:49.201Z",
"review": "Woah what a ride, really thrilling and a great experience."
}
]
},
{
"_id": "55c20f0f27f2a878292a564c",
"__v": 0,
"created": "2015-08-05T13:26:39.055Z",
"name": "Dragon Challenge : Hungarian Horntail",
coasterreviews: [
{
"_id": "55d8d21908eda5a018c22ed4",
"rollercoaster": "55c20f0f27f2a878292a564c",
"__v": 0,
"created": "2015-08-22T19:48:41.854Z",
"review": "Great ride"
}
]
},
]