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

// SERVER-2282 $or de duping with sparse indexes

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

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

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

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

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