mirror of
https://github.com/mongodb/mongo.git
synced 2024-12-01 01:21:03 +01:00
00d92ece19
The actual suite will come in a follow-up commit.
31 lines
842 B
JavaScript
31 lines
842 B
JavaScript
// @tags: [requires_non_retryable_writes]
|
|
|
|
// Check that $all matching null is consistent with $in - SERVER-3820
|
|
|
|
t = db.jstests_all3;
|
|
t.drop();
|
|
|
|
t.save({});
|
|
|
|
assert.eq(1, t.count({foo: {$in: [null]}}));
|
|
assert.eq(1, t.count({foo: {$all: [null]}}));
|
|
assert.eq(0, t.count({foo: {$not: {$all: [null]}}}));
|
|
assert.eq(0, t.count({foo: {$not: {$in: [null]}}}));
|
|
|
|
t.remove({});
|
|
t.save({foo: 1});
|
|
assert.eq(0, t.count({foo: {$in: [null]}}));
|
|
assert.eq(0, t.count({foo: {$all: [null]}}));
|
|
assert.eq(1, t.count({foo: {$not: {$in: [null]}}}));
|
|
assert.eq(1, t.count({foo: {$not: {$all: [null]}}}));
|
|
|
|
t.remove({});
|
|
t.save({foo: [0, 1]});
|
|
assert.eq(1, t.count({foo: {$in: [[0, 1]]}}));
|
|
assert.eq(1, t.count({foo: {$all: [[0, 1]]}}));
|
|
|
|
t.remove({});
|
|
t.save({foo: []});
|
|
assert.eq(1, t.count({foo: {$in: [[]]}}));
|
|
assert.eq(1, t.count({foo: {$all: [[]]}}));
|