// Cannot implicitly shard accessed collections because of use of $near query instead of geoNear
// command.
// @tags: [assumes_unsharded_collection, requires_getmore]

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

N = 1000;

for (var i = 0; i < N; i++)
    t.insert({loc: [100 + Math.random(), 100 + Math.random()], z: 0});
for (var i = 0; i < N; i++)
    t.insert({loc: [0 + Math.random(), 0 + Math.random()], z: 1});
for (var i = 0; i < N; i++)
    t.insert({loc: [-100 + Math.random(), -100 + Math.random()], z: 2});

t.ensureIndex({loc: '2d'});

function test(z, l) {
    assert.lt(
        0, t.find({loc: {$near: [100, 100]}, z: z}).limit(l).itcount(), "z: " + z + " l: " + l);
}

test(1, 1);
test(1, 2);
test(2, 2);
test(2, 10);
test(2, 1000);
test(2, 100000);
test(2, 10000000);
