title: using $elemMatch in projection with field choosing
body: <p>I'm trying to select only some fields in document while also using $elemmatch. It turned out the field selection is getting ignored.</p>
  
  <p>Given a document like this:</p>
  
  <pre><code>{
    "author": "Robin Sharma",
    "data": [
      {
        "translation": "en",
        "content": "foo",
        "unwanted_content": "huyu1",
      },
      {
        "translation": "id",
        "content": "bar",
        "unwanted_content": "huyu2",
      {
    ],
  }
  
  </code></pre>
  
  <p>I'm using <code>find()</code> with this projection config:</p>
  
  <pre class="lang-js prettyprint-override"><code>const projection = {
    author: 1,
    data: {
      $elemMatch: {
        translation: "en"
      },
    },
  }
  </code></pre>
  
  <p>Expected</p>
  
  <pre><code>{
    "author": "Robin Sharma",
    "data": [
      {
        "translation": "en",
        "content": "foo"
      },
    ],
  }
  
  </code></pre>
  
  <p>Actual</p>
  
  <pre><code>{
    "author": "Robin Sharma",
    "data": [
      {
        "translation": "en",
        "content": "foo",
        "unwanted_content": "huyu1",
      },
    ],
  }
  
  </code></pre>
  
  <p>I'm still not sure how to get rid of the "unwanted_content" field.</p>