How to pass arguments on nested field of apollo resolver?

My schema

import {Meteor} from  'meteor/meteor';
import Posts from  '../posts/posts';

export const typeDefs = `
type Author {
    _id: String
    username: String
}
  
type Post {
    _id: String
    title: String
    private: Boolean
    author: Author
}

type Query {
    posts(private: Boolean): [Post],
}

schema {
    query: Query
}
`;

export const resolvers = {
    Query: {
        posts(root, args, context) {
            return Posts.find({private: args.private}).fetch();
        },
    },
    Post: {
        author(post){
            // Please update to support nested arguments
            return Meteor.users.findOne.....................;
        },
    },
};
--------------------
import {createApolloServer} from 'meteor/apollo';
import {makeExecutableSchema} from 'graphql-tools';

import {typeDefs, resolvers} from '../../api/apollo/schema';

const schema = makeExecutableSchema({
    typeDefs,
    resolvers,
});

createApolloServer({
    schema,
});

My query

{
	posts(private: true){
    _id,
    title,
    author(username: "theara"){
      _id,
      username
    }
  }
}

Please help me

I know this is an older post, but I was searching for this also without any answers. I did get this to work for me by adding the argument to the type def and expecting that argument in the resolver.

the typedef:

type Post {
    _id: String
    title: String
    private: Boolean
    author(username: String): Author
}

the resolver:

Post: {
        author(post, {username}){

        },
    },

I don’t know if this is the correct way but this did work for me and hopefully it helps someone else.

Thanks for your reply.
:sunny: