22 lines
893 B
JavaScript
Executable file
22 lines
893 B
JavaScript
Executable file
// 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 } ) );
|