title: Can't find some data on Mongos while it's exists on shard
body: <p>I have 3 Mongos instances and 6 Mongod instances behind it. There are 2 auto-sharding shard and each one has 3 replica-set.</p>
  
  <p>Today I find that I can't find some data on my system, but I can find it on RockMongo. I try to find it on mongos but nothing can be found. But the result of count() told me the data is still there.</p>
  
  <pre><code>mongos&gt; db.video.find({ _id: ObjectId('51a0e7625c8e87cc6a000027') })
  mongos&gt; db.video.count({ _id: ObjectId('51a0e7625c8e87cc6a000027') })
  1
  mongos&gt; db.runCommand({ count: "video", query: { _id: ObjectId('51a0e7625c8e87cc6a000027') } })
  { "shards" : { "s1" : 0, "s2" : 1 }, "n" : 1, "ok" : 1 }
  </code></pre>
  
  <p>I connect to shard2 and find the record, but many fields was lost. Meanwhile, the record shows up in RockMongo had all fields.</p>
  
  <pre><code>shard2:PRIMARY&gt; db.video.find({ _id: ObjectId('51a0e7625c8e87cc6a000027') })
  { "_id" : ObjectId("51a0e7625c8e87cc6a000027"), "comment" : 78, "like" : 142, "scores" : { "total" : 37042292210.73388, "popular" : 72980.66026813157, "total_play" : 8737, "week_play" : 71 }, "views" : 8739 }
  </code></pre>
  
  <p>Then I found that the data count shows up in RockMongo was 24w+, but the result return by running db.xx.count() on mongos was 23w+. Some data lost on Mongos!</p>
  
  <p>I have tried dump the collection and restore to another server and everything is ok. There must be some thing between mongos and mongod, what should I do now? </p>