title: Mongo $exists query does not return correct documents
body: <p>Honestly, I don't understand how this is even possible:</p>
  
  <pre><code>&gt; db.ts.find({"bcoded_metadata" : { "$exists" : true} } ).count()
  199049
  &gt; db.ts.find({"bcoded_metadata" : { "$exists" : false} } ).count()
  0
  &gt; db.ts.count()
  2507873
  </code></pre>
  
  <p>I think sum of the first and second queries must be equal to the third. </p>
  
  <p>I need to select from the collection all elements for which "bcoded_metadata" does not exist but the query returns nothing.
  When I iterate this collection in the simple python script and manually check whether "bcoded_metadata" exists everything works as expected. </p>
  
  <pre><code>from pymongo import Connection
  connection = Connection('127.0.0.1', 27017)
  db = connection.data
  c = 0
  for item in db.ts.find():
      if not "bcoded_metadata" in item.keys():
              c+= 1
  print c
  
  
  
  python test.py 
  2308824
  </code></pre>
  
  <p>This is correct answer. </p>
  
  <p>Where is a source of problem?</p>
  
  <p>indexes:</p>
  
  <pre><code>&gt; db.ts.getIndexes();
  [
          {
                  "name" : "_id_",
                  "ns" : "data.ts",
                  "key" : {
                          "_id" : 1
                  },
                  "v" : 0
          },
          {
                  "_id" : ObjectId("4f3c299b4c4a5ccfddbe4069"),
                  "ns" : "data.ts",
                  "key" : {
                          "last_seen" : 1
                  },
                  "name" : "last_seen_1",
                  "v" : 0
          },
          {
                  "_id" : ObjectId("4f3c2cef4c4a5ccfddbe406a"),
                  "ns" : "data.ts",
                  "key" : {
                          "attempts" : -1
                  },
                  "name" : "attempts_-1",
                  "v" : 0
          },
          {
                  "_id" : ObjectId("4f4279ed6aca13be31acbe6d"),
                  "ns" : "data.ts",
                  "key" : {
                          "bcoded_metadata" : 1
                  },
                  "name" : "bcoded_metadata_1",
                  "sparse" : true,
                  "v" : 0
          }
  ]
  </code></pre>