t = db.jstests_count; t.drop(); t.save( { i: 1 } ); t.save( { i: 2 } ); assert.eq( 1, t.find( { i: 1 } ).count(), "A" ); assert.eq( 1, t.count( { i: 1 } ) , "B" ); assert.eq( 2, t.find().count() , "C" ); assert.eq( 2, t.find( undefined ).count() , "D" ); assert.eq( 2, t.find( null ).count() , "E" ); assert.eq( 2, t.count() , "F" ); t.drop(); t.save( {a:true,b:false} ); t.ensureIndex( {b:1,a:1} ); assert.eq( 1, t.find( {a:true,b:false} ).count() , "G" ); assert.eq( 1, t.find( {b:false,a:true} ).count() , "H" ); t.drop(); t.save( {a:true,b:false} ); t.ensureIndex( {b:1,a:1,c:1} ); assert.eq( 1, t.find( {a:true,b:false} ).count() , "I" ); assert.eq( 1, t.find( {b:false,a:true} ).count() , "J" );