diff options
Diffstat (limited to 'jstests/or8.js')
-rw-r--r-- | jstests/or8.js | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/jstests/or8.js b/jstests/or8.js index 7a5c709..d08f227 100644 --- a/jstests/or8.js +++ b/jstests/or8.js @@ -14,3 +14,15 @@ t.find({ $or: [ { a: {$in:[]} } ] } ).toArray(); assert.eq.automsg( "2", "t.find({ $or: [ { a: {$in:[]} }, {a:1}, {a:3} ] } ).toArray().length" ); assert.eq.automsg( "2", "t.find({ $or: [ {a:1}, { a: {$in:[]} }, {a:3} ] } ).toArray().length" ); assert.eq.automsg( "2", "t.find({ $or: [ {a:1}, {a:3}, { a: {$in:[]} } ] } ).toArray().length" ); + +// nested negate field + +t.drop(); +t.save( {a:{b:1,c:1}} ); +t.ensureIndex( { 'a.b':1 } ); +t.ensureIndex( { 'a.c':1 } ); +assert.eq( 1, t.find( {$or: [ { 'a.b':1 }, { 'a.c':1 } ] } ).itcount() ); + +t.remove(); +t.save( {a:[{b:1,c:1},{b:2,c:1}]} ); +assert.eq( 1, t.find( {$or: [ { 'a.b':2 }, { 'a.c':1 } ] } ).itcount() ); |