Database

[{"key":1,"subKey":""},{"key":2,"subKey":""},{"key":3,"subKey":2},{"key":4,"subKey":3}]

Query

db.collection.aggregate([{$match:{key:4}},{$graphLookup:{from:"collection",startWith:"$key",connectFromField:"subKey",connectToField:"key",as:"keys"}}])

Result