summaryrefslogtreecommitdiff
path: root/jstests/core/exists3.js
blob: 53a69d6c3bb2f698744894a3066a4a5da36d1607 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Check exists with non empty document, based on SERVER-2470 example.

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

t.insert({a: 1, b: 2});

assert.eq( 1, t.find({}).sort({c: -1}).itcount() );
assert.eq( 1, t.count({c: {$exists: false}}) );
assert.eq( 1, t.find({c: {$exists: false}}).itcount() );
assert.eq( 1, t.find({c: {$exists: false}}).sort({c: -1}).itcount() );

// now we have an index on the sort key 
t.ensureIndex({c: -1})

assert.eq( 1, t.find({c: {$exists: false}}).sort({c: -1}).itcount() );
assert.eq( 1, t.find({c: {$exists: false}}).itcount() );
// still ok without the $exists 
assert.eq( 1, t.find({}).sort({c: -1}).itcount() );
// and ok with a convoluted $not $exists 
assert.eq( 1, t.find({c: {$not: {$exists: true}}}).sort({c: -1}).itcount() );