Database
[{"categories":[{"subCategories":[],"key":"CONSULTANT_AGREEMENT"}]},{"categories":[{"subCategories":[{"key":"value"}],"key":"CONSULTANT_AGREEMENT"},{"subCategories":[],"key":"CONSULTANT_AGREEMENT"}]},{"categories":[{"subCategories":[{"key":"value"}],"key":"OTHER_VALUE"}]},]
Query
db.collection.find({categories:{$elemMatch:{key:"CONSULTANT_AGREEMENT",$and:[{"subCategories.0":{$exists:true}},{"subCategories.1":{$exists:false}}]}}})