Convierte una cadena en un número en proyección MongoDB

Tengo una colección de documentos que tienen un valor que se sabe que es un número, pero se almacena como una cadena. Está fuera de mi control cambiar el tipo de campo, pero quiero usar ese campo en una agregación (por ejemplo, para promediarlo).

Parece que debería estar usando una proyección antes de la agrupación, y en esa proyección convertir el campo según sea necesario. Parece que no puedo obtener la sintaxis correcta: todo lo que intento me da NaN o simplemente falta el nuevo campo en el siguiente paso de la agregación.

$project: {
    value: '$value',
    valueasnumber: ????
}

Dado el ejemplo muy simple anterior, donde el contenido de $ value en todos los documentos es de tipo cadena, pero se analizará en un número, ¿qué debo hacer para que el valor sea un nuevo campo (no existente) que es de tipo double con el analizado? versión de $ valor en él?

He intentado cosas como los ejemplos a continuación (y alrededor de una docena de cosas similares):

{ $add: new Number('$value').valueOf() }
new Number('$value').valueOf()

¿Estoy ladrando por completo el árbol equivocado? Cualquier ayuda sería muy apreciada!

(Para ser 100% claro, a continuación es cómo me gustaría usar el nuevo campo).

$group {
    score: {
        $avg: '$valueasnumber'
    }
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta