File: geo_s2nonstring.js

package info (click to toggle)
mongodb 1%3A2.4.10-5
  • links: PTS, VCS
  • area: main
  • in suites: jessie-kfreebsd
  • size: 82,464 kB
  • sloc: cpp: 740,225; ansic: 152,098; sh: 13,820; python: 11,864; makefile: 1,012; perl: 922; pascal: 617; java: 452; lisp: 222; asm: 174
file content (22 lines) | stat: -rwxr-xr-x 893 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// 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 } ) );