mirror of
https://github.com/mongodb/mongo.git
synced 2024-12-01 09:32:32 +01:00
64 lines
2.1 KiB
JavaScript
64 lines
2.1 KiB
JavaScript
|
|
|
|
t = db.index_check3;
|
|
t.drop();
|
|
|
|
|
|
|
|
t.save( { a : 1 } );
|
|
t.save( { a : 2 } );
|
|
t.save( { a : 3 } );
|
|
t.save( { a : "z" } );
|
|
|
|
assert.eq( 1 , t.find( { a : { $lt : 2 } } ).itcount() , "A" );
|
|
assert.eq( 1 , t.find( { a : { $gt : 2 } } ).itcount() , "B" );
|
|
|
|
t.ensureIndex( { a : 1 } );
|
|
|
|
assert.eq( 1 , t.find( { a : { $lt : 2 } } ).itcount() , "C" );
|
|
assert.eq( 1 , t.find( { a : { $gt : 2 } } ).itcount() , "D" );
|
|
|
|
t.drop();
|
|
|
|
for ( var i=0; i<100; i++ ){
|
|
var o = { i : i };
|
|
if ( i % 2 == 0 )
|
|
o.foo = i;
|
|
t.save( o );
|
|
}
|
|
|
|
t.ensureIndex( { foo : 1 } );
|
|
|
|
//printjson( t.find( { foo : { $lt : 50 } } ).explain() );
|
|
assert.gt( 30 , t.find( { foo : { $lt : 50 } } ).explain().nscanned , "lt" );
|
|
//printjson( t.find( { foo : { $gt : 50 } } ).explain() );
|
|
assert.gt( 30 , t.find( { foo : { $gt : 50 } } ).explain().nscanned , "gt" );
|
|
|
|
|
|
t.drop();
|
|
t.save( {i:'a'} );
|
|
for( var i=0; i < 10; ++i ) {
|
|
t.save( {} );
|
|
}
|
|
|
|
t.ensureIndex( { i : 1 } );
|
|
|
|
//printjson( t.find( { i : { $lte : 'a' } } ).explain() );
|
|
assert.gt( 3 , t.find( { i : { $lte : 'a' } } ).explain().nscanned , "lte" );
|
|
//printjson( t.find( { i : { $gte : 'a' } } ).explain() );
|
|
// bug SERVER-99
|
|
assert.gt( 3 , t.find( { i : { $gte : 'a' } } ).explain().nscanned , "gte" );
|
|
assert.eq( 1 , t.find( { i : { $gte : 'a' } } ).count() , "gte a" );
|
|
assert.eq( 1 , t.find( { i : { $gte : 'a' } } ).itcount() , "gte b" );
|
|
assert.eq( 1 , t.find( { i : { $gte : 'a' } } ).sort( { i : 1 } ).count() , "gte c" );
|
|
assert.eq( 1 , t.find( { i : { $gte : 'a' } } ).sort( { i : 1 } ).itcount() , "gte d" );
|
|
|
|
t.save( { i : "b" } );
|
|
|
|
assert.gt( 3 , t.find( { i : { $gte : 'a' } } ).explain().nscanned , "gte" );
|
|
assert.eq( 2 , t.find( { i : { $gte : 'a' } } ).count() , "gte a2" );
|
|
assert.eq( 2 , t.find( { i : { $gte : 'a' } } ).itcount() , "gte b2" );
|
|
assert.eq( 2 , t.find( { i : { $gte : 'a' , $lt : MaxKey } } ).itcount() , "gte c2" );
|
|
assert.eq( 2 , t.find( { i : { $gte : 'a' , $lt : MaxKey } } ).sort( { i : -1 } ).itcount() , "gte d2" );
|
|
assert.eq( 2 , t.find( { i : { $gte : 'a' , $lt : MaxKey } } ).sort( { i : 1 } ).itcount() , "gte e2" );
|