I can query users through the graphiql tool, but users is undefined when I console log users at the client side. Why is that? Do I need to do anything with Meteor account, such as publishing all users first? but I thought apollo does not depend on the Meteor pub-sub.
It should log twice - once as undefined with loading = true, and once with the data. Is the request coming back from the server? You can look in your Chrome Network tool to inspect the requests sent to the GraphQL server.