Database
[{input_array:[{"key1":"a","key2":"b",},{"key1":"x"}]},{input_array:[{"key1":"a","key2":"b","key3":"P",},{"key1":"x","key2":"y",}]}]
Query
db.collection.aggregate([{$match:{$expr:{$eq:[{$size:"$input_array"},{$size:{$filter:{input:{$map:{input:"$input_array",as:"outer",in:{$map:{input:{"$objectToArray":"$$outer"},in:"$$this.v"}}}},as:"outer",cond:{$gt:[{$size:{$filter:{input:[["a","b","c"],["x",]],cond:{$eq:[{$size:{"$setDifference":["$$outer","$$this"]}},0]}}}},0]}}}}]}}}])