summaryrefslogtreecommitdiff
path: root/jstests/core/in.js
blob: da1313692e19672ca5eabdb2bb4ce12fa8c0f666 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

t = db.in1;
t.drop();

t.save( { a : 1 } );
t.save( { a : 2 } );

// $in must take an array as argument: SERVER-7445
assert.throws( function() { return t.find( { a : { $in : { x : 1 } } } ).itcount(); } );
assert.throws( function() { return t.find( { a : { $in : 1 } } ).itcount(); } );

assert.eq( 1 , t.find( { a : { $in : [ 1 ] } } ).itcount() , "A" );
assert.eq( 1 , t.find( { a : { $in : [ 2 ] } } ).itcount() , "B" );
assert.eq( 2 , t.find( { a : { $in : [ 1 , 2 ] } } ).itcount() , "C" );

t.ensureIndex( { a : 1 } );

assert.eq( 1 , t.find( { a : { $in : [ 1 ] } } ).itcount(), "D" );
assert.eq( 1 , t.find( { a : { $in : [ 2 ] } } ).itcount() , "E" );
assert.eq( 2 , t.find( { a : { $in : [ 1 , 2 ] } } ).itcount() , "F" );

assert.eq( 0 , t.find( { a : { $in : [] } } ).itcount() , "G" );

assert.eq( 1 , t.find( { a : { $gt: 1, $in : [ 2 ] } } ).itcount() , "H" );