Agrupe por varios valores Underscore.JS pero mantenga las claves y los valores

Estoy tratando de agrupar la siguiente matriz con objetos:

[ { user_id: 301, alert_id: 199, deal_id: 32243 },
  { user_id: 301, alert_id: 200, deal_id: 32243 },
  { user_id: 301, alert_id: 200, deal_id: 107293 },
  { user_id: 301, alert_id: 200, deal_id: 277470 } ]

Como puede ver, contiene combinaciones de user_id y alert_id, que me gusta agrupar. Entonces me gustaría tener la siguiente matriz:

[ { user_id: 301, alert_id: 199, deals: [32243] },
  { user_id: 301, alert_id: 200, deals: [32243,107293,277470]}]

Alguien sabe una solución para esto? Con el subrayado GroupBy puedo agrupar los valores en función de una clave. Pero necesito agruparlos, según la combinación user_id AND alert_id, como puede ver.

Eché un vistazo aunderscore.nest, pero el problema es que crea sus propias claves.

Respuestas a la pregunta(2)

Su respuesta a la pregunta