title: mongodb $elemMatch with regex return only one element from array of a single document
body: <p>I want a string search in a nested array. For every document, it only returns the first matched array element though there are a more matched array element in a document. 
  Mongo structure:</p>
  
  <pre><code>{
  "bookmarkId" : "5b9ce0be489cdc34ffa9d650",
  "notes" : [
      {
          "noteId" : "5b9ce0be489cdc34ffa9d650",
          "note" : "number"
      },
      {
          "noteId" : "5b9ce4ba489cdc34ffa9d653",
          "note" : "hhgjjkg"
      },
      {
          "noteId" : "5b9ce4cc489cdc34ffa9d654",
          "note" : "test"
      },
      {
          "noteId" : "5b9ce8a2a3219b3f166cc5de",
          "note" : "hhgjjkg"
      },
      {
          "noteId" : "5b9cf703a3219b3f166cc5ea",
          "note" : "number"
      }
  ],
  "userId" : "5aeae1da9072420ff68bd48e"
  }
  </code></pre>
  
  <p>The mongodb query is :</p>
  
  <pre><code>db.bookmark.find({"userId" : "5aeae1da9072420ff68bd48e","notes.note":new RegExp('hgjj', 'i')},{_id:0,bookmarkId:1,notes:{$elemMatch:{note:new RegExp('hgjj', 'i')}}})
  </code></pre>
  
  <p>Though the 2nd and 4th element match the query, it only returns the first element.
  Output:</p>
  
  <pre><code>{ "bookmarkId" : "5b9ce0be489cdc34ffa9d650", "notes" : [ { "noteId" : "5b9ce4ba489cdc34ffa9d653", "note" : "hhgjjkg" } ] }
  </code></pre>
  
  <p>How to get all the matched element from mongodb?</p>