title: Using `lean` on mongoose queries that return arrays in TypeScript
body: <p>I have two Mongoose queries and decided it would be best to use <code>.lean()</code> on them.</p>
  
  <p>For the one that returns a single document, it seems to work fine:</p>
  
  <pre><code>let something:Something;
  SomethingDocument.findOne({_id:theId}).lean().then( (res) =&gt; { something = res;});
  </code></pre>
  
  <p>The problem is when I try to use it with a query that returns multiple results:</p>
  
  <pre><code>let somethings:Something[];
  SomethingDocument.find({color:'blue'}).lean().then( (res) =&gt; { somethings = res;});
  </code></pre>
  
  <p>The second call gives the error:</p>
  
  <pre><code>Type 'Object' is not assignable to type 'Something[]'.
    The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?
      Property 'length' is missing in type 'Object'.
  </code></pre>
  
  <p>If I try to do a type conversion it just complains the the 'length' property is missing in type 'Object'.</p>
  
  <p>How do I use <code>lean</code> when I expect an array of results?</p>
  
  <p>...note that if I simply omit <code>lean</code> it all works.</p>