Database

db={"jobs":[{"_id":1,"title":"New Job","salary":{"amount":"30","unit":"hour"},"hours":{"amount":"20","unit":"week"},"company":1}],"companies":[{"_id":1,"name":"company A","geo":{"type":"Point","coordinates":[-81,43]}}]}

Query

db.jobs.aggregate([{"$lookup":{"from":"companies","localField":"company","foreignField":"_id","as":"company","pipeline":[{"$geoNear":{"near":{"type":"Point","coordinates":[-80,44],},"key":"company.geo","distanceField":"distance"}}]}}])

Result