title: MongoDB aggregation with $lookup only include (or project) some fields to return from query
body: <p>In mongo, after doing an <code>aggregation</code> with <code>$lookup</code>, I would like the request to return only some fields and not the whole document.</p>
  
  <p>I have the following query :</p>
  
  <pre><code>db.somecollection.aggregate([{
      $lookup: {
          from: "campaigns",
          localField: "campId",
          foreignField: "_id",
          as: "campaign"
      }
  }, {
      $unwind: "$campaign"
  }, {
      $lookup: {
          from: "entities",
          localField: "campaign.clientid",
          foreignField: "_id",
          as: "campaign.client"
      }
  }]);
  </code></pre>
  
  <p>This request will return me this :</p>
  
  <pre><code>{
  "_id" : ObjectId("56cc7cd1cc2cf62803ebfdc7"),
  "campId" : ObjectId("56c740e4479f46e402efda84"),
  "articleId" : ObjectId("56c742c06094640103ba3843"),
  "campaign" : {
      "_id" : ObjectId("56c740e4479f46e402efda84"),
      "clientid" : ObjectId("56c740b8479f46e402efda83"),
      "client" : [
          {
              "_id" : ObjectId("56c740b8479f46e402efda83"),
              "username" : "someusername",
              "shhh" : "somehashedpassword",
              "email" : "mail@mail.com",
          }
      ]
  }
  </code></pre>
  
  <p>The request works well, but I would like to filter the fields in <code>campaign.client</code> to only get for example <code>_id</code> and <code>username</code>. Is there a way to do this in a MongoDB <code>aggregate</code> request?</p>