1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
t = db.sort6;
function get( x ){
return t.find().sort( { c : x } ).map( function(z){ return z._id; } );
}
// part 1
t.drop();
t.insert({_id:1,c:null})
t.insert({_id:2,c:1})
t.insert({_id:3,c:2})
assert.eq( [3,2,1] , get( -1 ) , "A1" ) // SERVER-635
assert.eq( [1,2,3] , get( 1 ) , "A2" )
t.ensureIndex( { c : 1 } );
assert.eq( [3,2,1] , get( -1 ) , "B1" )
assert.eq( [1,2,3] , get( 1 ) , "B2" )
// part 2
t.drop();
t.insert({_id:1})
t.insert({_id:2,c:1})
t.insert({_id:3,c:2})
assert.eq( [3,2,1] , get( -1 ) , "C1" ) // SERVER-635
assert.eq( [1,2,3] , get( 1 ) , "C2" )
t.ensureIndex( { c : 1 } );
assert.eq( [3,2,1] , get( -1 ) , "D1" )
assert.eq( [1,2,3] , get( 1 ) , "X2" )
|