Database

db={"users":[{"name":"dogfrey","field":"cowboy"},{"name":"catsville","field":"spaceman"}],"roles":[{"id":0,"userType":"cowboy","spaceman":"fiver","num":2},{"id":1,"userType":"joker","spaceman":"tenner","num":3},{"id":2,"userType":"cowboy","spaceman":"tenner","num":1}]}

Query

db.users.aggregate([{"$match":{"name":"dogfrey"}},{"$lookup":{"from":"roles",let:{"users_field":"$field"},pipeline:[{$match:{$expr:{$eq:["$userType","$$users_field"]},}},{$project:{_id:0}}],"as":"dogs"}}])

Result