Generando una Estructura para la Agregación

Entonces aquí hay una pregunta. Lo que quiero hacer es generar una estructura de datos dado un conjunto de valores de entrada.

Como se trata de un envío en varios idiomas, consideremos que la lista de entrada es una matriz de pares clave / valor. Y por lo tanto, una variedad de Hash, Mapa, Diccionario o cualquier término que haga flotar su barco. Mantendré toda la notación aquí como JSON, esperando que sea lo suficientemente universal como para traducir / decodificar.

Entonces, para la entrada, digamos que tenemos esto:

[ { "4": 10 }, { "7": 9 }, { "90": 7 }, { "1": 8 } ] 

Tal vez un poco redundante, pero sigamos con eso.

Entonces, a partir de esa entrada, quiero llegar a esta estructura. Estoy dando una estructura completa, pero elimportante parte es lo que se devuelve por el valor bajo"peso":

[
   { "$project": {
       "user_id": 1,
       "content": 1,
       "date": 1,
       "weight": { "$cond": [
           { "$eq": ["$user_id": 4] },
           10,
           { "$cond": [ 
               { "$eq": ["$user_id": 7] },
               9,
               { "$cond": [
                   { "$eq": ["$user_id": 90] },
                   7,
                   { "$cond": [
                       { "$eq": ["$user_id": 1] },
                       8, 
                       0
                   ]}
               ]}
           ]}
       ]}
   }}
]

Entonces, la solución que estoy buscando llena el contenido de la estructura para "peso" como se muestra en la estructura usando elentrada como se muestra.

Si los valores queparece los números en la estructura deben ser números y no cadenas, así que sea cual sea la implementación del lenguaje, la versión codificada JSONdebe se ve exactamente igual.

Alternativamente, dame un mejor enfoque para llegar al mismo resultado de asignar elpeso valores basados en la coincidenciauser_id.

¿Alguien tiene un enfoque para esto?

Estaría contento con cualquier implementación de lenguaje, ya que creo que es justo ver cómo se puede crear la estructura.

Intentaré agregarme, pero felicitaciones a las buenas implementaciones.

Feliz codificación

Respuestas a la pregunta(2)

Su respuesta a la pregunta