mirror of
https://github.com/mongodb/mongo.git
synced 2024-12-01 09:32:32 +01:00
31 lines
1.1 KiB
JavaScript
31 lines
1.1 KiB
JavaScript
// @tags: [requires_getmore, requires_fastcount]
|
|
|
|
t = db.count2;
|
|
t.drop();
|
|
|
|
for (var i = 0; i < 1000; i++) {
|
|
t.save({num: i, m: i % 20});
|
|
}
|
|
|
|
assert.eq(1000, t.count(), "A");
|
|
assert.eq(1000, t.find().count(), "B");
|
|
assert.eq(1000, t.find().toArray().length, "C");
|
|
|
|
assert.eq(50, t.find({m: 5}).toArray().length, "D");
|
|
assert.eq(50, t.find({m: 5}).count(), "E");
|
|
|
|
assert.eq(40, t.find({m: 5}).skip(10).toArray().length, "F");
|
|
assert.eq(50, t.find({m: 5}).skip(10).count(), "G");
|
|
assert.eq(40, t.find({m: 5}).skip(10).countReturn(), "H");
|
|
|
|
assert.eq(20, t.find({m: 5}).skip(10).limit(20).toArray().length, "I");
|
|
assert.eq(50, t.find({m: 5}).skip(10).limit(20).count(), "J");
|
|
assert.eq(20, t.find({m: 5}).skip(10).limit(20).countReturn(), "K");
|
|
|
|
assert.eq(5, t.find({m: 5}).skip(45).limit(20).countReturn(), "L");
|
|
|
|
// Negative skip values should return error
|
|
var negSkipResult = db.runCommand({count: 't', skip: -2});
|
|
assert(!negSkipResult.ok, "negative skip value shouldn't work, n = " + negSkipResult.n);
|
|
assert(negSkipResult.errmsg.length > 0, "no error msg for negative skip");
|