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
|
// SERVER-6531 support $within in $match aggregation operations
c = db.s6531;
c.drop();
for (var x=0; x < 10; x++) {
for (var y=0; y < 10; y++) {
c.insert({loc: [x,y]});
}
}
function test(variant) {
query = {loc: {$within: {$center: [[5,5], 3]}}};
sort = {_id: 1};
aggOut = c.aggregate({$match:query}, {$sort: sort});
assert.commandWorked(aggOut, variant);
cursor = c.find(query).sort(sort);
assert.eq(aggOut.result, cursor.toArray());
}
test("no index");
c.ensureIndex({loc:"2d"});
test("2d index");
c.dropIndex({loc:"2d"});
c.ensureIndex({loc:"2dsphere"});
test("2dsphere index");
|