summaryrefslogtreecommitdiff
path: root/jstests/core/geo_fiddly_box2.js
blob: 6a40b5032b5b241e0a9a5187c574423c40957fd8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// Reproduces simple test for SERVER-2115

// The setup to reproduce is to create a set of points and a really big bounds so that we are
// required to do
// exact lookups on the points to get correct results.

t = db.geo_fiddly_box2;
t.drop();

t.insert({"letter": "S", "position": [-3, 0]});
t.insert({"letter": "C", "position": [-2, 0]});
t.insert({"letter": "R", "position": [-1, 0]});
t.insert({"letter": "A", "position": [0, 0]});
t.insert({"letter": "B", "position": [1, 0]});
t.insert({"letter": "B", "position": [2, 0]});
t.insert({"letter": "L", "position": [3, 0]});
t.insert({"letter": "E", "position": [4, 0]});

t.ensureIndex({position: "2d"});
result = t.find({"position": {"$within": {"$box": [[-3, -1], [0, 1]]}}});
assert.eq(4, result.count());

t.dropIndex({position: "2d"});
t.ensureIndex({position: "2d"}, {min: -10000000, max: 10000000});

result = t.find({"position": {"$within": {"$box": [[-3, -1], [0, 1]]}}});
assert.eq(4, result.count());

t.dropIndex({position: "2d"});
t.ensureIndex({position: "2d"}, {min: -1000000000, max: 1000000000});

result = t.find({"position": {"$within": {"$box": [[-3, -1], [0, 1]]}}});
assert.eq(4, result.count());