text: // Added to make sure that S2 indexing's string AND non-string keys work.
  t = db.geo_s2nonstring
  t.drop()
  
  t.ensureIndex( { geo:'2dsphere', x:1 } );
  
  t.save( { geo:{ type:'Point', coordinates:[ 0, 0 ] }, x:'a' } );
  t.save( { geo:{ type:'Point', coordinates:[ 0, 0 ] }, x:5 } );
  
  t.drop()
  t.ensureIndex( { geo:'2dsphere', x:1 } );
  
  t.save( { geo:{ type:'Point', coordinates:[ 0, 0 ] }, x:'a' } );
  t.save( { geo:{ type:'Point', coordinates:[ 0, 0 ] } } );
  
  // Expect 1 match, where x is 'a'
  assert.eq( 1, t.count( { geo:{ $near:{ $geometry:{ type:'Point', coordinates:[ 0, 0 ] },
                                                     $maxDistance: 20 } }, x:'a' } ) );
  
  // Expect 1 match, where x matches null (missing matches null).
  assert.eq( 1, t.count( { geo:{ $near:{ $geometry:{ type:'Point', coordinates:[ 0, 0 ] },
                                         $maxDistance: 20 } }, x:null } ) );
  