34 lines
1.1 KiB
JavaScript
34 lines
1.1 KiB
JavaScript
// 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);
|