title: Difference between storing an ObjectId and its string form, in MongoDB
body: <p>I'm a little confused by Mongo DB's use of ObjectIds. Sure they're great for creating IDs client-side that almost definitely don't conflict with other client-side created ids. But mongo seems to store them in some special way. Storing a string representation of the id is <em>different</em> from storing an object id as an object. Why is this? </p>
  
  <p>Doesn't the string form have all the same information that the object form has? Why does mongo go to such lengths to differentiate those two forms? It screws me up when I try to compare _ids sent from a frontend for example. My database is in no way consistent with whether it stores string-form ids or object-form ids, and tho my code is certainly partially to blame, I mostly blame mongo for making this so weird. </p>
  
  <p>Am I wrong that this is weird? Why does mongo do it this way?</p>