fields
pode receber uma função em vez de um objeto. Dessa forma, o código dentro da função não será avaliado imediatamente:fields: () => ({
id: { type: GraphQLID },
name: { type: GraphQLString },
category: {
type: CategoryType,
resolve: (parent) => Category.findOne({_id: parent.category}),
}
})