summaryrefslogtreecommitdiff
path: root/jstests/aggregation/extras/limitskip.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/aggregation/extras/limitskip.js')
-rw-r--r--jstests/aggregation/extras/limitskip.js68
1 files changed, 26 insertions, 42 deletions
diff --git a/jstests/aggregation/extras/limitskip.js b/jstests/aggregation/extras/limitskip.js
index 9d04d595a3d..3644282b3c8 100644
--- a/jstests/aggregation/extras/limitskip.js
+++ b/jstests/aggregation/extras/limitskip.js
@@ -2,77 +2,63 @@
var coll = "numbers";
db[coll].drop();
-for (i=0; i<100; i++) {
- db[coll].save({_id : i, mod : [i%2, i%3, i%5]});
+for (i = 0; i < 100; i++) {
+ db[coll].save({_id: i, mod: [i % 2, i % 3, i % 5]});
}
print("-----LIMIT-----");
print("normal limit");
-var doc = db.runCommand({ aggregate : coll, pipeline : [{ $limit : 2}]});
+var doc = db.runCommand({aggregate: coll, pipeline: [{$limit: 2}]});
assert.eq(doc.result.length, 2, tojson(doc));
print("limit larger than result size");
-doc = db.runCommand({ aggregate : coll, pipeline : [{ $limit : 200}]});
+doc = db.runCommand({aggregate: coll, pipeline: [{$limit: 200}]});
assert.eq(doc.result.length, 100, tojson(doc));
-
print("limit on sort");
-doc = db.runCommand({ aggregate : coll, pipeline : [{$sort : {_id : -1}}, {$limit : 3}]});
+doc = db.runCommand({aggregate: coll, pipeline: [{$sort: {_id: -1}}, {$limit: 3}]});
r = doc.result;
assert.eq(doc.result.length, 3);
-for (var i=0; i<r; i++) {
+for (var i = 0; i < r; i++) {
assert.eq(100 - r[i]._id, i, tojson(doc));
}
-print("TODO: invalid limit"); // once assert has been replaced with uassert
-
+print("TODO: invalid limit"); // once assert has been replaced with uassert
print("-----SKIP------");
print("normal skip");
-doc = db.runCommand({ aggregate : coll, pipeline : [{ $skip : 95}]});
+doc = db.runCommand({aggregate: coll, pipeline: [{$skip: 95}]});
assert.eq(doc.result.length, 5, tojson(doc));
print("skip larger than result size");
-doc = db.runCommand({ aggregate : coll, pipeline : [{ $skip : 102}]});
+doc = db.runCommand({aggregate: coll, pipeline: [{$skip: 102}]});
assert.eq(doc.result.length, 0, tojson(doc));
-
print("check skip results");
-doc = db.runCommand({ aggregate : coll, pipeline : [{ $sort : {_id : 1}}, {$skip : 6}, {$limit : 3}]});
+doc = db.runCommand({aggregate: coll, pipeline: [{$sort: {_id: 1}}, {$skip: 6}, {$limit: 3}]});
assert.eq(doc.result.length, 3, tojson(doc));
-for (var i=0; i<3; i++) {
- assert.eq(i+6, doc.result[i]._id, tojson(doc));
+for (var i = 0; i < 3; i++) {
+ assert.eq(i + 6, doc.result[i]._id, tojson(doc));
}
-print("TODO: invalid skip"); // once assert has been replaced with uassert
-
+print("TODO: invalid skip"); // once assert has been replaced with uassert
print("on virtual collection");
-doc = db.runCommand({ aggregate : coll, pipeline : [
- {
- $unwind : "$mod"
- },
- {
- $project : { m : "$mod" }
- },
- {
- $sort : {
- m : 1,
- _id : -1
- }
- },
- {
- $skip : 150
- },
- {
- $limit : 5
- }
-]});
+doc = db.runCommand({
+ aggregate: coll,
+ pipeline: [
+ {$unwind: "$mod"},
+ {$project: {m: "$mod"}},
+ {$sort: {m: 1, _id: -1}},
+ {$skip: 150},
+ {$limit: 5}
+ ]
+});
assert.eq(doc.result.length, 5);
-for (var i=0; i<5; i++) {
+for (var i = 0; i < 5; i++) {
assert.eq(1, doc.result[i].m, tojson(doc));
}
assert.eq(doc.result[0]._id, 55, tojson(doc));
@@ -81,15 +67,13 @@ assert.eq(doc.result[2]._id, 52, tojson(doc));
assert.eq(doc.result[3]._id, 51, tojson(doc));
assert.eq(doc.result[4]._id, 51, tojson(doc));
-
print("size 0 collection");
db[coll].drop();
-doc = db.runCommand({ aggregate : coll, pipeline : [{$skip : 6}]});
+doc = db.runCommand({aggregate: coll, pipeline: [{$skip: 6}]});
assert.eq(doc.ok, 1);
assert.eq(doc.result.length, 0);
-doc = db.runCommand({ aggregate : coll, pipeline : [{$limit : 3}]});
+doc = db.runCommand({aggregate: coll, pipeline: [{$limit: 3}]});
assert.eq(doc.ok, 1);
assert.eq(doc.result.length, 0);
-