Database
db={"Item":[{"_id":ObjectId("5e6f98e41b70ea2c14c208b9"),"name":"test"}],"Data":[{"_id":ObjectId("5e6f99431b70ea2c14c208ba"),"item":ObjectId("5e6f98e41b70ea2c14c208b9"),"grouping_1":{"A":ObjectId("5e6f9da24ed49c2a717ad5a4"),"B":ObjectId("5e6f9d974ed49c2a717ad597")},"grouping_2":{"C":ObjectId("5e6f9da24ed49c2a717ad5a5"),"D":ObjectId("5e6f9d974ed49c2a717ad598")}}]}
Query
db.Item.aggregate([{$match:{_id:ObjectId("5e6f98e41b70ea2c14c208b9")}},{$lookup:{from:"Data",localField:"_id",foreignField:"item",as:"data"}},{$project:{keys:{$map:{input:{$concatArrays:[{$objectToArray:{$arrayElemAt:["$data.grouping_1",0]}},{$objectToArray:{$arrayElemAt:["$data.grouping_2",0]}}]},in:"$$this.k"}}}}])