Database

db={"books":[{id:1,title:"title book 1",content:"content book 1"},{id:2,title:"title book 2",content:"content book 2"},{id:3,title:"title book 3",content:"content book 3"},],"buyer":[{post_id:1,user_id:"123",},],"users":[{user_id:"123",display_name:"Phineas"},{user_id:"789",display_name:"Ferb"},]}

Query

db.books.aggregate([{"$lookup":{"from":"buyer","localField":"id","foreignField":"post_id","as":"buyersLookup"}},{$unwind:{path:"$buyersLookup",preserveNullAndEmptyArrays:true}},{"$lookup":{"from":"users","localField":"buyersLookup.user_id","foreignField":"user_id","as":"buyersLookup.buyers"}},{$set:{"buyersLookup.buyer":{$arrayElemAt:["$buyersLookup.buyers",0]}}},{$group:{_id:"$_id",title:{$first:"$title",},content:{$first:"$content"},buyers:{$push:"$buyersLookup"}}}])

Result