summaryrefslogtreecommitdiff
path: root/jstests/core/query/or/ork.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/core/query/or/ork.js')
-rw-r--r--jstests/core/query/or/ork.js21
1 files changed, 21 insertions, 0 deletions
diff --git a/jstests/core/query/or/ork.js b/jstests/core/query/or/ork.js
new file mode 100644
index 00000000000..8ce2346b6f3
--- /dev/null
+++ b/jstests/core/query/or/ork.js
@@ -0,0 +1,21 @@
+// SERVER-2585 Test $or clauses within indexed top level $or clauses.
+
+t = db.jstests_ork;
+t.drop();
+
+t.createIndex({a: 1});
+t.save({a: [1, 2], b: 5});
+t.save({a: [2, 4], b: 5});
+
+assert.eq(2, t.find({
+ $or: [
+ {a: 1, $and: [{$or: [{a: 2}, {a: 3}]}, {$or: [{b: 5}]}]},
+ {a: 2, $or: [{a: 3}, {a: 4}]}
+ ]
+ }).itcount());
+assert.eq(1, t.find({
+ $or: [
+ {a: 1, $and: [{$or: [{a: 2}, {a: 3}]}, {$or: [{b: 6}]}]},
+ {a: 2, $or: [{a: 3}, {a: 4}]}
+ ]
+ }).itcount());