Si intenta cuidadosamente formatear a mano su consulta para que sea más legible, notará que ha cometido algunos errores con los paréntesis de cierre.
Pruebe esta consulta en su lugar:
{ $and :
[{
$and:
[
{$or : [ { $where: '?0 == null' } , { a : ?0 }]},
{$or : [ { $where: '?1 == null' } , { b : ?1 }]},
{$or : [ { $where: '?2 == null' } , { c : ?2 }]}
]
}]
}
Nota al margen:creo que uno $and
será suficiente, es decir, eliminar el $and
de nivel superior operador.