Database
[{"id":1,"parentId":1,"position":{"x":1,"y":1},"tag":"Beta"},{"id":2,"parentId":2,"position":{"x":2,"y":2},"tag":"Alpha"},{"id":3,"parentId":1,"position":{"x":3,"y":3},"tag":"Delta"},{"id":4,"parentId":1,"position":{"x":4,"y":4},"tag":"Gamma"},{"id":5,"parentId":2,"position":{"x":5,"y":6},"tag":"Epsilon"}]
Query
db.collection.aggregate([{$graphLookup:{from:"collection",startWith:"$id",connectFromField:"id",connectToField:"parentId",as:"children",}},{$match:{$expr:{$gt:[{$size:"$children"},0]}}},{$addFields:{children:{$filter:{input:"$children",as:"ch",cond:{$ne:["$id","$$ch.id"]}}}}}])