title: Mongoose multiple deep populates
body: <p>Say, I have <code>Manager</code> schema:</p>
  
  <pre><code>{
      name: { type: String },
      clients: [{ type: Mongoose.Schema.ObjectId, ref: 'Client'}]
  }
  </code></pre>
  
  <p>And, I have <code>Client</code> schema:</p>
  
  <pre><code>{
      name  : { type String },
      cars  : [{ type: Mongoose.Schema.ObjectId, ref: 'Car' }],
      houses: [{ type: Mongoose.Schema.ObjectId, ref: 'House' }]
  }
  </code></pre>
  
  <p>And <code>Car</code> and <code>House</code> as well (their structure is not important for the matter. How do I deep populate multiple <code>Client</code>'s fields in the single <code>.populate()</code> call?</p>
  
  <p>What have I tried:</p>
  
  <pre><code>Manager.find()
      .populate({
           path: 'users',
           populate: { path: 'cars' },
           populate: { path: 'houses' }
      });
  </code></pre>
  
  <p>and it would truly surprise me if it worked (as I overwrite previously declared <code>populate</code> key passed to the <code>.populate()</code> method). My example obviously returns populated <code>houses</code> field per user - the one which comes last. Honestly, no idea, nothing in the <a href="http://mongoosejs.com/docs/populate.html#deep-populate" rel="noreferrer">docs </a> either. Is it even supported? I know it is for 'shallow' populate, based on my example:</p>
  
  <pre><code>User.populate('cars')
      .populate('houses')
  </code></pre>
  
  <p>What about the deep one?</p>