title: Mongoose's find method with $or condition does not work properly
body: <p>Recently I start using MongoDB with Mongoose on Nodejs. </p>
  
  <p>When I use Model.find method with <code>$or</code> condition and <code>_id</code> field, Mongoose does not work properly.</p>
  
  <p>This does not work:</p>
  
  <pre><code>User.find({
    $or: [
      { '_id': param },
      { 'name': param },
      { 'nickname': param }
    ]
  }, function(err, docs) {
     if(!err) res.send(docs);
  });
  </code></pre>
  
  <p>By the way, if I remove the '_id' part, this DOES work!</p>
  
  <pre><code>User.find({
    $or: [
      { 'name': param },
      { 'nickname': param }
    ]
  }, function(err, docs) {
     if(!err) res.send(docs);
  });
  </code></pre>
  
  <p>And in MongoDB shell, both work properly.</p>