MongoDB ¿Coincide una matriz con $ type?

Tengo una colección MongoDb que contiene 284.116 tweets. El problema es que el campo "autor" en algunos objetos está en tipo de objeto, pero en otros objetos, este campo "autor" está en tipo de matriz. Entonces, el problema es que quiero filtrar cuáles son Array y cuáles son Object.

Por ejemplo: el tipo de campo del autor es objeto.

{
    "_id" : ObjectId("55edfbd11a87d41d987a6dc1"),
    "tweet" : "Back in my dorm, yay!",
    "uri" : "https://twitter.com/natalylug0/status/640994018529181696",
    "date" : "2015-09-08 00:04:17",
    "country" : "U.S.A.",
    "city" : "Texas",
    "state" : "Dallas",
    "author" : {
        "username" : "Nataly",
        "uri" : "https://twitter.com/natalylug0",
        "screenname" : "natalylug0"
    }
}

Y el otro: el tipo del campo de autor es array.

{
    "_id" : ObjectId("55ee3a00e11fbb1030d659fe"),
    "author" : [ 
        {
            "username" : "Relapsed Shini",
            "uri" : "https://twitter.com/iPictoraL",
            "screenname" : "iPictoraL"
        }
    ],
    "tweet" : "@zumbiezuza  ily zoeeeeeeee",
    "uri" : "https://twitter.com/iPictoraL/status/641060812140900352",
    "date" : "2015-09-08 01:29:42",
    "country" : "U.S.A.",
    "city" : "Texas",
    "state" : "Dallas"
}

Entonces ejecuté una consulta como esta:

db.getCollection('tweets').find({ author: { $type: 4} })

Y lo que obtengo es

Fetched 0 record(s) 

Pero si ejecutar$ tipo: 3 Obtengo 284.116 valores, que es el mismo valor de tamaño de esta colección.

Entonces mi pregunta es, ¿cómo puedo filtrar objetos cuyos campos de "autor" contienen matrices.

Respuestas a la pregunta(2)

Su respuesta a la pregunta