summaryrefslogtreecommitdiff
path: root/jstests/core/query/or/orh.js
blob: 9a870cf27b10cfe2c541fa1373f8a560e5cc2e74 (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.

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

t.createIndex({a: 1}, {sparse: true});
t.createIndex({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}]}));