// 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: [[]]}}));