Cómo usar $ regex dentro de $ o como una expresión de agregación

Tengo una consulta que permite al usuario filtrar por algún campo de cadena usando un formato que se parece a: "Donde la descripción de la última inspección es cualquiera de:foo obar". Esto funciona muy bien con la siguiente consulta:

db.getCollection('permits').find({
  '$expr': {
    '$let': {
      vars: {
        latestInspection: {
          '$arrayElemAt': ['$inspections', {
            '$indexOfArray': ['$inspections.inspectionDate', {
              '$max': '$inspections.inspectionDate'
            }]
          }]
        }
      },
      in: {
        '$in': ['$latestInspection.description', ['Fire inspection on property', 'Health inspection']]
      }
    }
  }
})

Lo que quiero es que el usuario pueda usar comodines, que convierto en expresiones regulares: "Donde la descripción de la última inspección es cualquiera de:Health inspection oFound a * at the property".

La expresión regular que recibo, no necesito ayuda con eso. El problema que estoy enfrentando es, aparentemente,la agregación$inl operador @ no admite coincidencias con expresiones regulares. Así que pensé en construir esto usando$or desde los documentos no decir que no puedo usar expresiones regulares. Este fue mi mejor intento:

db.getCollection('permits').find({
  '$expr': {
    '$let': {
      vars: {
        latestInspection: {
          '$arrayElemAt': ['$inspections', {
            '$indexOfArray': ['$inspections.inspectionDate', {
              '$max': '$inspections.inspectionDate'
            }]
          }]
        }
      },
      in: {
        '$or': [{
          '$latestInspection.description': {
            '$regex': /^Found a .* at the property$/
          }
        }, {
          '$latestInspection.description': 'Health inspection'
        }]
      }
    }
  }
})

Excepto que recibo el error:

"Unrecognized expression '$latestInspection.description'"

Estoy pensando que no puedo usar$$latestInspection.description como clave de objeto, pero no estoy seguro (mi conocimiento aquí es limitado) y no puedo encontrar otra forma de hacer lo que quiero. Así que ya ves, ni siquiera fui capaz de llegar lo suficientemente lejos como para ver si puedo usar$regex in$or. Agradezco toda la ayuda que puedo obtener.

Respuestas a la pregunta(1)

Su respuesta a la pregunta