summaryrefslogtreecommitdiff
path: root/jstests/sort9.js
blob: 62407d6e96d055859b241e4d33878a2dd16b0492 (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
25
26
// Unindexed array sorting SERVER-2884

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

t.save( {a:[]} );
t.save( {a:[[]]} );
assert.eq( 2, t.find( {a:{$ne:4}} ).sort( {a:1} ).itcount() );
assert.eq( 2, t.find( {'a.b':{$ne:4}} ).sort( {'a.b':1} ).itcount() );
assert.eq( 2, t.find( {a:{$ne:4}} ).sort( {'a.b':1} ).itcount() );

t.drop();
t.save( {} );
assert.eq( 1, t.find( {a:{$ne:4}} ).sort( {a:1} ).itcount() );
assert.eq( 1, t.find( {'a.b':{$ne:4}} ).sort( {'a.b':1} ).itcount() );
assert.eq( 1, t.find( {a:{$ne:4}} ).sort( {'a.b':1} ).itcount() );
assert.eq( 1, t.find( {a:{$exists:0}} ).sort( {a:1} ).itcount() );
assert.eq( 1, t.find( {a:{$exists:0}} ).sort( {'a.b':1} ).itcount() );

t.drop();
t.save( {a:{}} );
assert.eq( 1, t.find( {a:{$ne:4}} ).sort( {a:1} ).itcount() );
assert.eq( 1, t.find( {'a.b':{$ne:4}} ).sort( {'a.b':1} ).itcount() );
assert.eq( 1, t.find( {a:{$ne:4}} ).sort( {'a.b':1} ).itcount() );
assert.eq( 1, t.find( {'a.b':{$exists:0}} ).sort( {a:1} ).itcount() );
assert.eq( 1, t.find( {'a.b':{$exists:0}} ).sort( {'a.b':1} ).itcount() );