summaryrefslogtreecommitdiff
path: root/jstests/core/in2.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/core/in2.js')
-rw-r--r--jstests/core/in2.js33
1 files changed, 33 insertions, 0 deletions
diff --git a/jstests/core/in2.js b/jstests/core/in2.js
new file mode 100644
index 00000000000..66b90daa25a
--- /dev/null
+++ b/jstests/core/in2.js
@@ -0,0 +1,33 @@
+
+t = db.in2;
+
+function go( name , index ){
+
+ t.drop();
+
+ t.save( { a : 1 , b : 1 } );
+ t.save( { a : 1 , b : 2 } );
+ t.save( { a : 1 , b : 3 } );
+
+ t.save( { a : 1 , b : 1 } );
+ t.save( { a : 2 , b : 2 } );
+ t.save( { a : 3 , b : 3 } );
+
+ t.save( { a : 1 , b : 1 } );
+ t.save( { a : 2 , b : 1 } );
+ t.save( { a : 3 , b : 1 } );
+
+ if ( index )
+ t.ensureIndex( index );
+
+ assert.eq( 7 , t.find( { a : { $in : [ 1 , 2 ] } } ).count() , name + " A" );
+
+ assert.eq( 6 , t.find( { a : { $in : [ 1 , 2 ] } , b : { $in : [ 1 , 2 ] } } ).count() , name + " B" );
+}
+
+go( "no index" );
+go( "index on a" , { a : 1 } );
+go( "index on b" , { b : 1 } );
+go( "index on a&b" , { a : 1 , b : 1 } );
+
+