Database

[{_id:122434,houseDetails:{hasBedroom:{flag:true},hasKitchen:{flag:false},hasBalcony:{flag:false},hasFoyer:{flag:true},}}]

Query

db.collection.aggregate([{$project:{houseDetails:{$objectToArray:"$houseDetails"}}},{$project:{houseDetails:{$reduce:{input:"$houseDetails",initialValue:[],in:{"$setUnion":["$$value",{$cond:[{$eq:["$$this.v.flag",true]},["$$this.k"],[]]}]}}}}},{$match:{"houseDetails.0":{"$exists":true}}}])

Result