title: Mongoose: Populating a nested array of ids
body: <p>I've been looking the web for a solution and I can't seem to find an answer to my problem. 
  <a href="https://stackoverflow.com/questions/19222520/populate-nested-array-in-mongoose#34444982">Here's a very similar case,</a> but for some reason my Document still doesn't get populated in my case. 
  Here are the schemas: </p>
  
  <p><strong>Customer Schema:</strong></p>
  
  <pre><code>var mongoose = require('mongoose');
  var Schema = mongoose.Schema;
  
  var customerSchema = new Schema({
    _id: {type: Schema.Types.ObjectId},
    auditTrail: {type: Object},
    thirdParty: [{type: Schema.Types.ObjectId, ref: 'Thirdparty'}],
    docRefs: {type: Object},
    salesRep: {type: Array},
    commentsArr: {type: Array}
  });
  </code></pre>
  
  <p>module.exports = mongoose.model('Customer', customerSchema);</p>
  
  <p><strong>the ThirdParty's:</strong> </p>
  
  <pre><code>var mongoose = require('mongoose');
  var Schema = mongoose.Schema;
  
  var thirdPartySchema = new Schema({
    _id: {type: Schema.Types.ObjectId},
    type: {type: String},
    name: {type: String},
    vat: {type: String},
    corpoPhone: {type: String},
    corpoMail: {type: String},
    corpoWeb: {type: String},
    activityNumber: {type: String},
    addresses: {type: Array},
    contacts: [{type: Schema.Types.ObjectId, ref: 'Contact'}], // &lt;-- ARRAY OF ObjectIds /!\
  });
  
  module.exports = mongoose.model('Thirdparty', thirdPartySchema);
  </code></pre>
  
  <p><strong>and the Contact's:</strong></p>
  
  <pre><code>var mongoose = require('mongoose');
  var Schema = mongoose.Schema;
  
  var contactSchema = new Schema({
    _id: {type: Schema.Types.ObjectId},
    title: {type: String},
    role: {type: String},
    firstName: {type: String},
    lastName: {type: String},
    phone: {type: String},
    mobile: {type: String},
    email: {type: String}
  });
  
  module.exports = mongoose.model('Contact', contactSchema);
  </code></pre>
  
  <p><strong>and here's my call:</strong> </p>
  
  <pre><code>Customer
      .find()
      .populate({
        path: 'thirdParty',
        populate: { path: 'contacts', model: 'Contact' }
      })
      .then(
      //... Do something
    )
  </code></pre>
  
  <p>And if the ThirdParty gets perfectly populated within the customer, the contacts absolutely don't...
  Here's a log of the "response": 
  <a href="https://i.stack.imgur.com/I4RjD.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/I4RjD.png" alt="Log of the call"></a></p>
  
  <p>What am I doing wrong? </p>
  
  <p>Thanks in advance!</p>