title: Mongoose populate vs aggregate
body: <p>I've noticed that .populate function in mongoose 4.7.3 runs separate queries on the database for each lookup:</p>
  
  <pre><code>  db.House
      .populate('ownerId')
      .exec((err, result) =&gt; {
      ..
  </code></pre>
  
  <p>With aggregation pipeline we can lookup multiple collections with a single query:</p>
  
  <pre><code>    db.House.aggregate([
      {
        $lookup:
        {
          from: 'owners',
          localField: 'ownerId',
          foreignField: '_id',
          as: 'owner',
        },
  </code></pre>
  
  <p>What is the reason for mongoose to do separate queries with .populate? Is the aggregation function more performant on lookups?</p>