Typescript 返回GraphQL上的计数对象
我试图创建一个GraphQL查询,该查询收集React项目的多个计数,但我无法确定应该输入的确切类型 守则:Typescript 返回GraphQL上的计数对象,typescript,graphql,Typescript,Graphql,我试图创建一个GraphQL查询,该查询收集React项目的多个计数,但我无法确定应该输入的确切类型 守则: import { GraphQLInt, GraphQLNonNull } from 'graphql' import * as moment from 'moment' import orm from '../../orm' import authDecorator from '../helpers/auth-decorator' interface IQueryMi
import { GraphQLInt, GraphQLNonNull } from 'graphql' import * as moment from 'moment' import orm from '../../orm' import authDecorator from '../helpers/auth-decorator'
interface IQueryMissionCountArgs { authToken: string }
export default authDecorator({ requireAdmin: true, requireAuth: true })({ type: Object(new GraphQLNonNull(GraphQLInt)), async resolve (
args: IQueryMissionCountArgs ) {
const lastWeekAcceptedMissionsCount = await orm.models.Mission.count({
where: {
createdAt: {
$between: [moment().subtract(7, 'days').toDate(), new Date()]
},
status: 'accepted'
}
})
const lastWeekPostedMissionsCount = await orm.models.Mission.count({
where: {
createdAt: {
$between: [moment().subtract(7, 'days').toDate(), new Date()]
}
}
})
return {
lastWeekPostedMissions: lastWeekPostedMissionsCount,
lastWeekAcceptedMissions: lastWeekAcceptedMissionsCount,
} } })
这将返回此错误:
Int不能表示非32位有符号整数值:[对象]\n
为字段定义的类型为整数:
type: Object(new GraphQLNonNull(GraphQLInt))
但是您返回的对象具有两个属性(LastWeekPostAdministrations
和LastWeekAcceptAdministrations
)
您需要定义一个新的GraphQLObjectType,如下所示:
const WeeklyMissionSummary=新的GraphQLObjectType({
名称:“WeeklyMissisonSummary”,
字段:{
LastWeekPostAdministration:{type:new GraphQLNonNull(GraphQLInt)},
LastWeekAcceptedAdministrations:{type:new GraphQLNonNull(GraphQLInt)},
},
})
然后,您可以将其用作字段的类型:
type: new GraphQLNonNull(WeeklyMissionSummary)
我就快到了,它只返回类型为“WeeklyMissionSummary!”的“GraphQLError:Field”allMissionStatistics!“必须有一个选择的子域。你是说”所有任务统计“现在您需要修改请求以实际包含这两个字段我不明白您的意思?在发送给服务器的请求中,当您请求
allMissionStatistics
字段时,您不能只请求字段本身,因为它现在是一个对象,所以您必须指定要返回的对象上的字段,像这样:allMissionStatistics{lastWeekPostAdministrations lastWeekAcceptedAdministrations}
谢谢,答案被认为是正确的,我只是现在有一个问题,所有查询都返回null,而单独运行时返回正确的值