Contar elementos SubDocument que coinciden con un criterio dado

Tengo la siguiente estructura de documentos en mongodb

{
    "_id" : "123",
    "first_name" : "Lorem",
    "last_name" : "Ipsum",
    "conversations" : {
            "personal" : [
                    {
                            "last_message" : "Hello bar",
                            "last_read" : 1474456404
                    },
                     {
                            "last_message" : "Hello foo",
                            "last_read" : 1474456404
                    },
                    .,..
            ],

            "group" : [
                    {
                            "last_message" : "Hello Everyone",
                            "last_read" : null
                    }
                    ...
            ]
    }
}

Quiero contar la cantidad de conversaciones de las sub matrices,personal ygroup donde ellast_read es nulo, para un usuario dado. Por favor, ¿cómo puedo lograr esto?

Lo intenté:

db.messages.aggregate(
   [
    { $match: {"_id":"123", 'conversations.$.last_read': null }},
      {
         $group: {
            {$size: "$conversations.personal"}, {$size: "$conversations.group"}
         }
      }
   ]
);

pero no obtuvo el resultado deseado. ¿Alguna idea mejor, por favor?

Respuestas a la pregunta(2)

Su respuesta a la pregunta