Database
db={"User":[{userId:"XXX",name:"XXX-name",type:"YYY",class:"ZZZ"},{userId:"XXX2",name:"XXX2-name",type:"YYY2",class:"ZZZ2"}],"UserHistory":[{userId:"XXX",usage:"XXX-usage",balance:60,billed_value:100},{userId:"XXX",usage:"XXX-usage-3",balance:60,billed_value:0},{userId:"XXX",usage:"XXX-usage-2",balance:20,billed_value:40},{userId:"XXX2",usage:"XXX2-usage",balance:50,billed_value:30}]}
Query
db.User.aggregate([{"$match":{"userId":"XXX","type":"YYY","class":"ZZZ"}},{"$lookup":{"from":"UserHistory","pipeline":[{$match:{balance:60}},{$limit:1}],"as":"userHistorys"}}])