【发布时间】:2018-06-20 20:41:39
【问题描述】:
此问题与the answer posted here有关
我需要从 GraphQL 查询返回聚合结果。查询代码如下:
const companiesWithNoUsers = {
type: new GraphQLList(CompanyType),
resolve(root, args, context) {
return Company.aggregate([
{
$lookup: {
from: "users",
localField: "id",
foreignField: "company_id",
as: "company_users"
}
},
{
$match: {
"company_users:0": {
$exists: false
}
}
}
]).exec();
}
};
我在 GraphQL 上遇到以下错误:
Expected value of type \"Company\" but got: [object Object].
阅读the docs后,我想错误与以下语句有关:
“返回的文档是纯 javascript 对象,而不是 mongoose 文档(因为可以返回任何形状的文档)。”
所以,我需要返回一个 GraphQL CompanyType。如何将返回转换为 GraphQL 预期的格式?这个错误有其他解决方案吗?
【问题讨论】:
标签: mongodb mongoose aggregation-framework graphql graphql-js