graphQL - 类型必须是输出类型

时间:2015-10-19 08:59:19

标签: node.js mongoose graphql graphql-js

我正在尝试使用带有express和mongoose的graffiti来设置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/definition.js:299:39

在mongoose架构中,类型为:type : Schema.Types.ObjectId。它应该改变其他东西吗?

我应该注意版本是:

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

1 个答案:

答案 0 :(得分:2)

原来我没有导入我引用的另一个模型。我有以下代码:

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

我没有将'myRef'导入到使用graphQL的mongoose模型列表中。确实非常简单;虽然可能会改进错误消息(这个输出类型是什么?什么是未定义的?)。