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
|
// Reported as server-848.
function test(index) {
db.server848.drop();
radius=0.0001;
center=[5,52];
db.server848.save({ "_id": 1, "loc" : { "x" : 4.9999, "y" : 52 } });
db.server848.save({ "_id": 2, "loc" : { "x" : 5, "y" : 52 } });
db.server848.save({ "_id": 3, "loc" : { "x" : 5.0001, "y" : 52 } });
db.server848.save({ "_id": 4, "loc" : { "x" : 5, "y" : 52.0001 } });
db.server848.save({ "_id": 5, "loc" : { "x" : 5, "y" : 51.9999 } });
db.server848.save({ "_id": 6, "loc" : { "x" : 4.9999, "y" : 52.0001 } });
db.server848.save({ "_id": 7, "loc" : { "x" : 5.0001, "y" : 52.0001 } });
db.server848.save({ "_id": 8, "loc" : { "x" : 4.9999, "y" : 51.9999 } });
db.server848.save({ "_id": 9, "loc" : { "x" : 5.0001, "y" : 51.9999 } });
if (index) {
db.server848.ensureIndex( { loc : "2d" } );
}
r=db.server848.find({"loc" : {"$within" : {"$center" : [center, radius]}}}, {_id:1});
assert.eq(5, r.count(), "A1");
// FIXME: surely code like this belongs in utils.js.
a=r.toArray();
x=[];
for (k in a) { x.push(a[k]["_id"]) }
x.sort()
assert.eq([1,2,3,4,5], x, "B1");
}
test(false)
test(true)
|