22 lines
444 B
JavaScript
22 lines
444 B
JavaScript
// @tags: [requires_non_retryable_writes]
|
|
|
|
// SERVER-2282 $or de duping with sparse indexes
|
|
|
|
t = db.jstests_org;
|
|
t.drop();
|
|
|
|
t.ensureIndex({a: 1}, {sparse: true});
|
|
t.ensureIndex({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}]}));
|