Resolving nested data in express GraphQL
Only resolvers for queries and mutations can be defined through root
, and even then this is bad practice. I'm guessing you're building your schema using buildSchema
, which is generally a bad idea since the generated schema will only use default resolvers.
The only way to define resolvers for a field like ingredients
when using plain GraphQL.js is to not use buildSchema
. Instead of generating your schema from a string, you would define it programatically (i.e. defining a GraphQLSchema and all the types it uses).
Doing the above is a huge pain, especially if you already have your schema defined in a string or document. So the alternative option is to use graphql-tools' makeExecutableSchema, which lets you inject those resolvers into your type definitions like you're trying to do. makeExecutableSchema
returns a GraphQLSchema object, so you can use it with your existing code (you don't have to change your middleware to apollo-server if you don't want to).