1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
// Test $all/$elemMatch/null matching - SERVER-4517
t = db.jstests_all5;
t.drop();
function checkMatch( doc ) {
t.drop();
t.save( doc );
assert.eq( 1, t.count( {a:{$all:[{$elemMatch:{b:null}}]}} ) );
}
function checkNoMatch( doc ) {
t.drop();
t.save( doc );
assert.eq( 0, t.count( {a:{$all:[{$elemMatch:{b:null}}]}} ) );
}
checkNoMatch( {} );
checkNoMatch( {a:1} );
if ( 0 ) { // SERVER-4517
checkMatch( {a:[]} );
checkMatch( {a:[1]} );
}
checkMatch( {a:[{}]} );
checkMatch( {a:[{c:1}]} );
checkMatch( {a:[{b:null}]} );
checkNoMatch( {a:[{b:1}]}, 0 );
|