2015-10-19 13 views
6

Ich versuche eine graphQL Route mit graffiti mit Express und Mungo einzurichten.graphQL - Typ muss Ausgabetyp sein

Jedoch habe ich die folgende Fehlermeldung erhalten:

Error: myColl.myField field type must be Output Type but got: undefined. 
    at invariant (/Users/nha/.../node_modules/graphql/jsutils/invariant.js:20:11) 
    at /Users/nha/.../node_modules/graphql/type/definition.js:299:39 

Im Mungo-Schema, der Typ ist: type : Schema.Types.ObjectId. Sollte es für etwas anderes geändert werden?

sollte ich beachten Sie, dass die Versionen sind:

"@risingstack/graffiti": "^1.0.2" 
"@risingstack/graffiti-mongoose": "^3.1.1" 
"mongoose": "~3.6.20" 
+0

Was ist der Code, der den Fehler wirft? –

Antwort

2

ich ich referenzierten ein anderes Modell nicht importieren Es stellte sich heraus. Ich hatte den folgenden Code:

myField : { 
    type : Schema.Types.ObjectId, 
    ref : 'myRef' 
} 

Und ich war nicht 'myRef' in die Liste der Mungo-Modelle, für den Import graphQL zu verwenden. Ganz einfach. obwohl die Fehlermeldung möglicherweise verbessert werden könnte (was ist dieser Ausgabetyp? Was war undefiniert?).

0

Der Fehler

Error: ... field type must be Output Type but got: undefined. 

bedeuten, haben Sie ein Problem mit GraphQLFieldConfig.

GraphQLFieldConfig benötigt das Typ-Feld. Wenn dieses Feld fehlt oder type-ref schlecht ist (undefined usw.), wird dieser Fehler angezeigt.

class GraphQLObjectType { 
    constructor(config: GraphQLObjectTypeConfig) 
} 

type GraphQLObjectTypeConfig = { 
    name: string; 
    interfaces?: GraphQLInterfacesThunk | Array<GraphQLInterfaceType>; 
    fields: GraphQLFieldConfigMapThunk | GraphQLFieldConfigMap; 
    isTypeOf?: (value: any, info?: GraphQLResolveInfo) => boolean; 
    description?: ?string 
} 

type GraphQLInterfacesThunk =() => Array<GraphQLInterfaceType>; 

type GraphQLFieldConfigMapThunk =() => GraphQLFieldConfigMap; 

... 

type GraphQLFieldConfig = { 
    type: GraphQLOutputType; 
    args?: GraphQLFieldConfigArgumentMap; 
    resolve?: GraphQLFieldResolveFn; 
    deprecationReason?: string; 
    description?: ?string; 
} 

http://graphql.org/graphql-js/type/#graphqlobjecttyp

Verwandte Themen