Database

db={vehicles:[{"_id":"a1","type:":"car","make":"Honda","specifications":["1","2"]},{"_id":"a2","type:":"car","make":"Toyota","specifications":["3","4"]},{"_id":"a3","type:":"car","make":"Honda","specifications":[]},{"_id":"a4","type:":"car","make":"Toyota"}],specifications:[{"_id":"1","color":"Black"},{"_id":"2","sunroof":"yes"},{"_id":"3","engine":"1800 CC"},{"_id":"4","bodyType":"Sedan"}]}

Query

db.vehicles.aggregate({$match:{$and:[{"type:":"car"},{$expr:{$ne:[{$ifNull:["$specifications",[]]},[]]}}]}},{$lookup:{from:"specifications",localField:"specifications",foreignField:"_id",pipeline:[{$project:{_id:0}}],as:"specifications"}})

Result