title: MongoDB: does it make any sense to `find` a document by `_id` after it was `inserted`?
body: <p>I wonder if there is any benefit in fetching a document by its <code>_id</code> after it was inserted into the database. Currently, I do this for all insertions. All <code>ObjectId</code> values are generated on the server and they are unique.</p>
  
  <p>I wonder if I could save some time by not doing <code>find</code> after <code>insert</code>? Will this have any negative consequences? Assuming that <code>insert</code> will throw an error in case of failure.</p>
  
  <p>Current code (Haskell/pseudocode - these snippets are not language specific):</p>
  
  <pre><code>createAccount :: String -&gt; String -&gt; IO (Maybe Document)
  createAccount email password = do
      -- Prepare document
      -- create `user` subdocument with a unique random ObjectId generated by the library
      -- create `account` document with a unique random ObjectId generated by the library
      user &lt;- liftIO(createUser email password)
      account &lt;- liftIO(Model_Account.create user)
  
      -- Convert local object to BSON, insert document, obtain _id 
      accountId &lt;- run(insert collection (toBSON account))
  
      -- Look up and return newly inserted document
      run(findOne(select ["_id" =: accountId] collection))
  </code></pre>
  
  <p>Alternative:</p>
  
  <pre><code>createAccount :: String -&gt; String -&gt; IO Document
  createAccount email password = do
      -- Prepare document
      -- create `user` subdocument with a unique random ObjectId generated by the library
      -- create `account` document with a unique random ObjectId generated by the library
      user &lt;- liftIO(createUser email password)
      account &lt;- liftIO(Model_Account.create user)
  
      -- Convert local object to BOSN, insert account, ignore `_id` returned by the database server
      _ &lt;- run(insert collection(toBSON account))
  
      -- Return "local" version of the document
      return account
  </code></pre>
  
  <p>Thanks!</p>