diff options
Diffstat (limited to 'jstests/core/query/or/or7.js')
-rw-r--r-- | jstests/core/query/or/or7.js | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/jstests/core/query/or/or7.js b/jstests/core/query/or/or7.js new file mode 100644 index 00000000000..e639a195739 --- /dev/null +++ b/jstests/core/query/or/or7.js @@ -0,0 +1,43 @@ +// @tags: [requires_non_retryable_writes] + +t = db.jstests_or7; +t.drop(); + +t.createIndex({a: 1}); +t.save({a: 2}); + +assert.eq.automsg("1", "t.count( {$or:[{a:{$in:[1,3]}},{a:2}]} )"); + +// SERVER-1201 ... + +t.remove({}); + +t.save({a: "aa"}); +t.save({a: "ab"}); +t.save({a: "ad"}); + +assert.eq.automsg("3", "t.count( {$or:[{a:/^ab/},{a:/^a/}]} )"); + +t.remove({}); + +t.save({a: "aa"}); +t.save({a: "ad"}); + +assert.eq.automsg("2", "t.count( {$or:[{a:/^ab/},{a:/^a/}]} )"); + +t.remove({}); + +t.save({a: "aa"}); +t.save({a: "ac"}); + +assert.eq.automsg("2", "t.count( {$or:[{a:/^ab/},{a:/^a/}]} )"); + +assert.eq.automsg("2", "t.count( {$or:[{a:/^ab/},{a:/^a/}]} )"); + +t.save({a: "ab"}); +assert.eq.automsg("3", "t.count( {$or:[{a:{$in:[/^ab/],$gte:'abc'}},{a:/^a/}]} )"); + +t.remove({}); +t.save({a: "a"}); +t.save({a: "b"}); +assert.eq.automsg("2", "t.count( {$or:[{a:{$gt:'a',$lt:'b'}},{a:{$gte:'a',$lte:'b'}}]} )"); |