Database

[{"posts":[{"_id":"postId1","comments":[{"_id":"commentId11","user":"userId1"},{"_id":"commentId12","user":"userId2"},{"_id":"commentId13","user":"userId3"},{"_id":"commentId14","user":"userId1"},{"_id":"commentId15","user":"userId4"}]},{"_id":"postId2","comments":[{"_id":"commentId21","user":"userId1"},{"_id":"commentId22","user":"userId3"},{"_id":"commentId23","user":"userId1"},{"_id":"commentId24","user":"userId2"},{"_id":"commentId25","user":"userId5"}]}]},{"posts":[{"_id":"postId3","comments":[{"_id":"commentId31","user":"userId1"},{"_id":"commentId32","user":"userId2"},{"_id":"commentId33","user":"userId3"},{"_id":"commentId34","user":"userId1"},{"_id":"commentId35","user":"userId4"}]},{"_id":"postId4","comments":[{"_id":"commentId41","user":"userId3"},{"_id":"commentId42","user":"userId3"},{"_id":"commentId43","user":"userId4"},{"_id":"commentId44","user":"userId2"},{"_id":"commentId45","user":"userId5"}]}]}]

Query

db.collection.aggregate([{$match:{"posts.comments.user":"userId1"}},{$unwind:"$posts"},{$project:{"posts.comments":{$filter:{input:"$posts.comments",as:"comment",cond:{$eq:["$$comment.user","userId1"]}}}}},{$group:{_id:"$_id",posts:{$push:"$posts"}}}])

Result