summaryrefslogtreecommitdiff
path: root/jstests/core/query/sort/sort9.js
blob: 57496b40da15ddfac2a47eaaf01a7e13ad4d7ac8 (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());