Você pode usar
$elemMatch
operador de consulta. Ele só precisa de uma consulta. db.test.find( { arr: { $not: { $elemMatch: { $ne: null } } } } )
"$elemMatch" + "$ne"
Esta parte inclui todos os documentos onde
arr
array não tem pelo menos um valor nulo. Estes são todos os documentos que têm pelo menos um valor não nulo.
$not
Esta parte irá manter todos os documentos que não estão em
"$elemMatch" + "$ne"
. Estes são todos os documentos que possuem todos os seus valores como
null
. Acomode casos extremos em que o campo não existe para garantir que as coisas funcionem conforme o esperado.