Database

db={"documents":[{"_id":1,"userId":1,"name":"Solar energy","resources":[1,2,3],"updatedAt":new Date(),"autosaved":true,"docId":1},{"_id":2,userId:1,"name":"Wind energy","resources":[2,4],"updatedAt":new Date(),"autosaved":false,"docId":2},{"_id":3,userId:2,"name":"renewble energy","resources":[2,4],"updatedAt":new Date(),"autosaved":true,"docId":3}],"html":[{"_id":1,"content":"<html><head></head><body><h1>Solar energy</h1><p>solar energy</p></body></html>",},{"_id":2,"content":""},{"_id":3,"content":"<html><body><h1>renewble energy</h1></body></html>"}],"resources":[{"_id":1,"preview":"solar power","url":"http://google.com"},{"_id":2,"preview":"renewable resources","url":"http://google.com"},{"_id":3,"preview":"wind energy","url":"http://google.com"},{"_id":4,"preview":"nuclear power","url":"http://google.com"},]}

Query

db.documents.aggregate([{"$match":{"userId":1}},{"$lookup":{"from":"html","localField":"docId","foreignField":"_id","as":"content"}},{"$lookup":{"from":"resources","localField":"resources","foreignField":"_id","as":"resources"}},{"$sort":{updatedAt:-1}},{"$skip":0},{"$limit":10}])

Result