Challenge 1: Write the Post.comments Resolver — Possible Solution ==================================================================== const resolvers = { // ...existing Query, User, Post.author resolvers from the chapter... Post: { author: (parent) => db.users.findById(parent.authorId), comments: (parent) => db.comments.findByPostId(parent.id), // parent = the Post }, }; WHY THIS WORKS -------------- - comments is added as a SIBLING to the existing author resolver inside the Post section of the resolver map — both are resolvers for fields defined on the Post type in the schema, so they belong in the same object. - parent here is whatever Post object was returned by whichever resolver ran one level up (e.g. Query.posts, or User.posts) — exactly the same rule the chapter walked through for Post.author's parent.authorId lookup. Since parent IS the specific Post being resolved, parent.id is that post's own ID — the correct value to pass into db.comments.findByPostId(). - This deliberately mirrors the shape of the existing Post.author resolver in the chapter's example — both take parent (the Post) and use one of its own properties (authorId for author, id for comments) to look up related data through a different top-level collection (db.users vs db.comments) — the same "look up related data via parent's own field" pattern repeated for a new relationship. - No args parameter is needed here (only parent), because comments isn't queried with any arguments of its own in this schema — the chapter's Query.user resolver needed args specifically because id was passed as an argument to that particular field; Post.comments doesn't take any arguments, so there's nothing there to read.