2012-12-17 15:18:17 -05:00
|
|
|
// 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});
|
|
|
|
|
cursor = c.find(query).sort(sort);
|
|
|
|
|
|
2013-10-08 13:29:04 -04:00
|
|
|
assert.eq(aggOut.toArray(), cursor.toArray());
|
2012-12-17 15:18:17 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
test("no index");
|
|
|
|
|
|
|
|
|
|
c.ensureIndex({loc:"2d"});
|
|
|
|
|
test("2d index");
|
|
|
|
|
|
|
|
|
|
c.dropIndex({loc:"2d"});
|
|
|
|
|
c.ensureIndex({loc:"2dsphere"});
|
|
|
|
|
test("2dsphere index");
|