Popular campos específicos en $ lookup

Estoy usando agregado para agrupar y completar el resultado como se muestra a continuación:

 { 
   "$group": {
     "_id": "$userId",
     "projectId": { "$push": "$projectId" }
    }
 },
 { 
  "$lookup": {
     "from": "users",
     "localField": "_id",
     "foreignField": "_id",
      "as": "user"
   }
 },
 {   $unwind:"$user" },
 { 
   "$lookup": {
     "from": "projects",
     "localField": "projectId",
     "foreignField": "_id",
     "as": "projects"
    }
 }

Pero yo quieropoblar campos específicos de ese resultado Para esto probé $ project, pero combina projectId en una matriz y projectName en otra matriz. Debajo está mi resultado json:

[
  {
    "_id": "5c0a29e597e71a0d28b910aa",
    "projectId": [
        "5c0a2a8897e71a0d28b910ac",
        "5c0a4083753a321c6c4ee024"
    ],
    "user": {
        "_id": "5c0a29e597e71a0d28b910aa",
        "firstName": "Amit"
        "lastName": "kumar",
        "type": "developer",
        "status": "active"
    },
    "projects": [
        {
            "_id": "5c0a2a8897e71a0d28b910ac",
            "skypeId": "",
            "projectName": "LN-PM",
            "status": "ongoing",
            "assignId": "5c0a2a0a97e71a0d28b910ab"
        },
        {
            "_id": "5c0a4083753a321c6c4ee024",
            "skypeId": "",
            "status": "pending",
            "assignId": "5c0a2a0a97e71a0d28b910ab"
        }
    ]
  }
]

Ahora quiero obtener el único "firstName and _id" campo deusuari campo y "projectName y _id" campo de la proyectos campo

Respuestas a la pregunta(1)

Su respuesta a la pregunta