summaryrefslogtreecommitdiff
path: root/jstests/core/orh.js
blob: 1ceed1d501fb94be1e47f4e331a7285dd857ee32 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// @tags: [requires_non_retryable_writes]

// SERVER-2831 Demonstration of sparse index matching semantics in a multi index $or query.

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

t.ensureIndex({a: 1}, {sparse: true});
t.ensureIndex({b: 1, a: 1});

t.remove({});
t.save({b: 2});
assert.eq(1, t.count({a: null}));
assert.eq(1, t.count({b: 2, a: null}));

assert.eq(1, t.count({$or: [{b: 2, a: null}, {a: null}]}));

// Is this desired?
assert.eq(1, t.count({$or: [{a: null}, {b: 2, a: null}]}));