title: What's faster: `find().limit(1)` or `findOne()` in MongoDB/Mongoose?
body: <p>I've read sources that say MongoDB's <code>findOne()</code> is much slower than <code>find().limit(1)</code>, but then I've also heard otherwise. What's actually the current truth?</p>
  
  <p><a href="https://blog.serverdensity.com/checking-if-a-document-exists-mongodb-slow-findone-vs-find/" rel="noreferrer">Article from March 2013</a>: "It is significantly faster to use find() + limit() because findOne() will always read + return the document if it exists. find() just returns a cursor (or not) and only reads the data if you iterate through the cursor."</p>
  
  <p><a href="https://dba.stackexchange.com/a/7587">SE answer from 2011</a>: "If the find().limit(1) document is retrieved, the orders of magnitude speed difference seems to disappear. Also, I could not reproduce the major speed difference with the MongoDB JavaScript driver. I originally benchmarked using the MongoDB Java driver."</p>
  
  <p>I hope whatever the answer is, it is also consistent with using Mongoose's <code>find().sort().limit(1)</code> and <code>findOne()</code>.</p>