I have Category
model:
Category: ... articles: [{type:ObjectId, ref:'Article'}]
Article model contains ref to Account model
.
Article: ... account: {type:ObjectId, ref:'Account'}
So, with populated articles
Category model will be:
{ //category articles: //this field is populated [ { account: 52386c14fbb3e9ef28000001, // I want this field to be populated date: Fri Sep 20 2013 00:00:00 GMT+0400 (MSK), title: 'Article 1' } ], title: 'Category 1' }
The questions is: how to populate subfield (account) of a populated field ([articles])? Here is how I do it now:
globals.models.Category .find issue : req.params.id null sort: order: 1 .populate("articles") # this populates only article field, article.account is not populated .exec (err, categories) -> console.log categories
I know it was discussed here: Mongoose: Populate a populated field but no real solution was found
Firstly, update mongoose 3 to 4 & then use the simplest way for deep population in mongoose as below :
Suppose you have Blog schema having userId as ref Id & then in User you have some review as ref Id for schema Review. So Basically, you have three schema : 1. Blog 2. User 3. Review
And, you have to query from blog, which user owns this blog & the user review. So you can query your result as :
BlogModel .find({}) .populate({ path : 'userId', populate : { path : 'reviewId' } }) .exec(function (err, res) { })
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With