Database

db={"Users":[{"_id":ObjectId("669fbce1704d41e9040cbb41"),"Name":"First User"},{"_id":ObjectId("669fbce1704d41e9040cbb42"),"Name":"Second User"},{"_id":ObjectId("669fbce1704d41e9040cbb43"),"Name":"Third User"}],"Credit":[{"_id":ObjectId("669fbce1704d41e9040cbb44"),"userId":ObjectId("669fbce1704d41e9040cbb41"),"credit":100},{"_id":ObjectId("669fbce1704d41e9040cbb45"),"userId":ObjectId("669fbce1704d41e9040cbb42"),"credit":10},{"_id":ObjectId("669fbce1704d41e9040cbb46"),"userId":ObjectId("669fbce1704d41e9040cbb43"),"credit":100}],"Status":[{"_id":ObjectId("669fbce1704d41e9040cbb47"),"userId":ObjectId("669fbce1704d41e9040cbb41"),"status":"First User Status","useCredit":1},{"_id":ObjectId("669fbce1704d41e9040cbb48"),"userId":ObjectId("669fbce1704d41e9040cbb42"),"status":"Second User Status","useCredit":20},{"_id":ObjectId("669fbce1704d41e9040cbb49"),"userId":ObjectId("669fbce1704d41e9040cbb42"),"status":"Second User Status","useCredit":10},{"_id":ObjectId("669fbce1704d41e9040cbb4a"),"userId":ObjectId("669fbce1704d41e9040cbb43"),"status":"Third User Status","useCredit":3},{"_id":ObjectId("669fbdac704d41e9040cbb4c"),"userId":ObjectId("669fbce1704d41e9040cbb43"),"status":"Third User Status","useCredit":4},{"_id":ObjectId("669fbdac704d41e9040cbb4d"),"userId":ObjectId("669fbce1704d41e9040cbb43"),"status":"Third User Status","useCredit":2},{"_id":ObjectId("669fbdac704d41e9040cbb50"),"userId":ObjectId("669fbce1704d41e9040cbb43"),"status":"Third User Status","useCredit":2}]}

Query

db.Users.aggregate([{"$match":{/**first user*/"_id":ObjectId("669fbce1704d41e9040cbb41")}},{"$lookup":{"from":"Credit","localField":"_id","foreignField":"userId","as":"creditLookup"}},{"$unwind":{path:"$creditLookup",preserveNullAndEmptyArrays:true}},{"$lookup":{"from":"Status","let":{uid:"$_id",c:"$creditLookup.credit"},"pipeline":[{"$match":{$expr:{"$and":[{$ne:["$$uid","$userId"]},{$gte:["$$c","$useCredit"]}]}}},{"$sample":{"size":1}}],"as":"randomStatus"}},{"$unwind":{path:"$randomStatus",preserveNullAndEmptyArrays:true}}])

Result