Este criterio que presenta una cláusula $where que usa JavaScript funciona bien en el símbolo del sistema, por ejemplo, cuando se incluye en db.mycollection.find() . Con eso quiero decir que devuelve registros coincidentes donde el campo de prueba tiene un valor "verdadero" y el campo de fecha y hora que está en milisegundos de época tiene un valor que cae dentro del día anterior ...
{$and:[{test:"true",$where: function(){return (new Date(this.dateTime + 86400000) < new Date())}}]}
... pero en PDI CE 8, arroja un error com.mongodb.util.JSONParseException y apunta a u en la function , por ejemplo, cuando se usa como criterio en un paso de "Entrada MongoDB" para eliminar registros.
No pude encontrar el motivo específico, pero creo que function (y aggregation y probablemente muchas otras) no se pueden usar como criterios coincidentes a través de PDI (ni a través de MongoDB Compass). Este parece ser un punto de confusión general en Internet sobre dos especies diferentes de "comandos mongo". Cualquier guía que explique eso de manera sencilla podría ser muy útil para predecir cuál es cuál, para evitar perder el tiempo desarrollando con la especie equivocada (¿tal vez "Evitar cualquier cosa con paréntesis en los criterios" es la regla?), pero mi pregunta principal es. ..
¿Hay algún criterio mongo alternativo que pueda usar para lograr el mismo objetivo?