summaryrefslogtreecommitdiff
path: root/jstests/core/query/explain/explain1.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/core/query/explain/explain1.js')
-rw-r--r--jstests/core/query/explain/explain1.js29
1 files changed, 29 insertions, 0 deletions
diff --git a/jstests/core/query/explain/explain1.js b/jstests/core/query/explain/explain1.js
new file mode 100644
index 00000000000..2de3e2f89d2
--- /dev/null
+++ b/jstests/core/query/explain/explain1.js
@@ -0,0 +1,29 @@
+// @tags: [
+// assumes_read_concern_local,
+// ]
+
+t = db.explain1;
+t.drop();
+
+for (var i = 0; i < 100; i++) {
+ t.save({x: i});
+}
+
+q = {
+ x: {$gt: 50}
+};
+
+assert.eq(49, t.find(q).count(), "A");
+assert.eq(49, t.find(q).itcount(), "B");
+assert.eq(20, t.find(q).limit(20).itcount(), "C");
+
+t.createIndex({x: 1});
+
+assert.eq(49, t.find(q).count(), "D");
+assert.eq(49, t.find(q).itcount(), "E");
+assert.eq(20, t.find(q).limit(20).itcount(), "F");
+
+assert.eq(49, t.find(q).explain("executionStats").executionStats.nReturned, "G");
+assert.eq(20, t.find(q).limit(20).explain("executionStats").executionStats.nReturned, "H");
+assert.eq(20, t.find(q).limit(-20).explain("executionStats").executionStats.nReturned, "I");
+assert.eq(49, t.find(q).batchSize(20).explain("executionStats").executionStats.nReturned, "J");