Node.js graphQL-类型必须是输出类型
我正在尝试使用express和mongoose设置graphQL路线 但是,我得到以下错误:Node.js graphQL-类型必须是输出类型,node.js,mongoose,graphql,graphql-js,Node.js,Mongoose,Graphql,Graphql Js,我正在尝试使用express和mongoose设置graphQL路线 但是,我得到以下错误: 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/defi
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
在mongoose模式中,类型是:type:schema.Types.ObjectId
。应该换成别的东西吗
我要指出的是,这些版本是:
"@risingstack/graffiti": "^1.0.2"
"@risingstack/graffiti-mongoose": "^3.1.1"
"mongoose": "~3.6.20"
原来我没有导入我引用的另一个模型。我有以下代码:
myField : {
type : Schema.Types.ObjectId,
ref : 'myRef'
}
我没有将'myRef'
导入到要使用graphQL的猫鼬模型列表中。的确很简单;尽管错误消息可能会得到改进(此输出类型是什么?未定义什么?)。错误
Error: ... field type must be Output Type but got: undefined.
你的意思是,你对GraphQLFieldConfig有问题
GraphQLFieldConfig需要类型字段。如果此字段丢失或类型ref不正确(未定义等),则会出现此错误
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;
}
类GraphQLObjectType{
构造函数(配置:GraphQLObjectTypeConfig)
}
类型GraphQLObjectTypeConfig={
名称:字符串;
接口?:GraphQlInterfaceStunk |数组;
字段:GraphQLFieldConfigMapThunk | GraphQLFieldConfigMap;
isTypeOf?:(值:any,info?:GraphQLResolveInfo)=>布尔值;
描述?:?字符串
}
类型GraphQlInterfaceStunk=()=>数组;
输入GraphQLFieldConfigMapThunk=()=>GraphQLFieldConfigMap;
...
类型GraphQLFieldConfig={
类型:GraphQLOutputType;
args?:图形QLFieldConfigArgumentMap;
解析?:图形QLFieldResolvefn;
弃用原因?:字符串;
描述?:?字符串;
}
抛出错误的代码是什么?