Database

[{"array_of_objects":[{"city":"Seattle","array_1":[],"object_1":{"name":"Mandy","text":""},"object_2":{"name":"Billy","text":""}}]}]

Query

db.collection.aggregate([{$unwind:"$array_of_objects"},{$project:{array_of_objects:{$arrayToObject:{$filter:{input:{$objectToArray:"$array_of_objects"},cond:{$and:[{$ne:["$$this.v.text",""]},{$ne:["$$this.v",[]]}]}}}}}}])

Result