Database

db={"station":[{"_id":ObjectId("5a934e000102030405000000"),name:"Station A"},{"_id":ObjectId("5a934e000102030405000001"),name:"Station B"},{"_id":ObjectId("5a934e000102030405000002"),name:"Station C"},{"_id":ObjectId("5a934e000102030405000003"),name:"Station D"},{"_id":ObjectId("5a934e000102030405000004"),name:"Station E"},{"_id":ObjectId("5a934e000102030405000005"),name:"Station F"},{"_id":ObjectId("5a934e000102030405000006"),name:"Station G"},{"_id":ObjectId("5a934e000102030405000007"),name:"Station H"},{"_id":ObjectId("5a934e000102030405000008"),name:"Station I"},{"_id":ObjectId("5a934e000102030405000009"),name:"Station J"}],"ride":[{test:false,state:"completed",duration:3,fromStation:ObjectId("5a934e000102030405000000"),toStation:ObjectId("5a934e000102030405000000")},{test:false,state:"completed",duration:3,fromStation:ObjectId("5a934e000102030405000000"),toStation:ObjectId("5a934e000102030405000001")},{test:false,state:"completed",duration:10,fromStation:ObjectId("5a934e000102030405000000"),toStation:ObjectId("5a934e000102030405000001")},{test:false,state:"completed",duration:5,fromStation:ObjectId("5a934e000102030405000006"),toStation:ObjectId("5a934e000102030405000007")},{test:false,state:"completed",duration:10,fromStation:ObjectId("5a934e000102030405000008"),toStation:ObjectId("5a934e000102030405000009")}]}

Query

db.ride.aggregate([{$match:{test:false,state:"completed",duration:{$gt:2}}},{$group:{_id:{fromStation:"$fromStation",toStation:"$toStation"},count:{$sum:1}}},{$lookup:{from:"station",let:{fromStation:"$_id.fromStation",toStation:"$_id.toStation"},pipeline:[{$match:{$expr:{$in:["$_id",["$$fromStation","$$toStation"]]}}}],as:"tmp"}},{$project:{_id:0,fromStation:{$reduce:{input:"$tmp",initialValue:"",in:{$cond:[{$eq:["$_id.fromStation","$$this._id"]},"$$this.name","$$value"]}}},toStation:{$reduce:{input:"$tmp",initialValue:"",in:{$cond:[{$eq:["$_id.toStation","$$this._id"]},"$$this.name","$$value"]}}},count:1}},{$sort:{fromStation:1,toStation:1}}])

Result