Database

db={"user_details":[{"_id":ObjectId("5ea32d11f213c27c35395fd3"),"name":"Test","state":"OH","code":"CDM"},{"_id":ObjectId("5ea32d29f213c27c35395fe0"),"name":"Test1","state":"ALL","code":"CDM"},{"_id":ObjectId("5ea32d38f213c27c35395fe7"),"name":"Test2","state":"OH","code":"ALL"},{"_id":ObjectId("5ea32d46f213c27c35395feb"),"name":"Test3","state":"ALL","code":"ALL"}]}

Query

db.user_details.aggregate([{$facet:{match:[{"$match":{$or:[{"state":"CA","code":{"$in":["CDM","ALL"]}},{"state":{"$in":["CA","ALL"]},"code":"CDM"}]}}],all:[{"$match":{"state":"ALL",code:"ALL"}}]}},{$project:{match:{$cond:[{$eq:[{$size:"$match"},0]},"$all","$match"]}}},{$unwind:"$match"},{$replaceWith:"$match"}])

Result