Javascript GraphQL类型嵌套和对类型的循环依赖
这里我有三种类型 工作类型 员工类型 SeekerType 一份Javascript GraphQL类型嵌套和对类型的循环依赖,javascript,graphql,relayjs,relay,graphql-js,Javascript,Graphql,Relayjs,Relay,Graphql Js,这里我有三种类型 工作类型 员工类型 SeekerType 一份工作将只有一名创建它的雇主 const JobsType = new GraphQLObjectType({ name: 'JobsType', fields: { jobsId: { type: GraphQLID, resolve: obj => obj._id, }, title: { type: GraphQ
工作
将只有一名创建它的雇主
const JobsType = new GraphQLObjectType({
name: 'JobsType',
fields: {
jobsId: {
type: GraphQLID,
resolve: obj => obj._id,
},
title: { type: GraphQLString },
description: { type: GraphQLString },
experience: { type: GraphQLString },
position: { type: GraphQLString },
openings: { type: GraphQLInt },
employer: {
type: EmployerType
resolve: () => // somedata here
}
},
});
一个雇主
可以创建多个工作
so
const EmployerType = new GraphQLObjectType({
name: 'EmployerType',
fields: {
userId: {
type: GraphQLID,
resolve: obj => obj._id,
},
company: { type: GraphQLString },
email: { type: GraphQLString },
password: { type: GraphQLString },
industry: { type: ENUM.IndustryType },
ownerShip: { type: ENUM.OwnerShipType },
website: { type: GraphQLString },
jobs: {
type: JobsType,
resolve: (obj) => // some data to resolve
}
},
});
一个求职者
可以应用于许多工作
const SeekerType = new GraphQLObjectType({
name: 'SeekerType',
fields: {
userId: {
type: GraphQLID,
resolve: obj => obj._id,
},
email: { type: GraphQLString },
password: { type: GraphQLString },
firstName: { type: GraphQLString },
lastName: { type: GraphQLString },
education: { type: GraphQLString },
address: { type: GraphQLString },
jobs: {
type: JobsType,
resolve: (obj) => // some data to resolve
}
},
});
因此在这里,它似乎对GraphQLObjectType
Jobs
包含employeertype
,再次employeertype
包含Jobs
,其中asjob
再次包含employeertype
就这样
{
job {
jobId,
jobTitle,
employer {
userId,
company,
email,
job {
jobId,
jobTitle,
employer {
userId,
company,
email
}
}
}
}
}
随着依赖关系越来越深,这不是正确的方法
同样适用于SeekerType
{
seeker {
userId,
email,
firstName,
lastName,
job {
jobId,
title,
description,
employer {
userId,
company,
email,
job {
jobId,
title,
employer {
userId,
company
}
}
}
}
}
}
这个问题的解决方案可能是什么我不确定你的问题是什么?您试图解决的问题是什么?我的问题是如何维护多个自定义
GraphQLObjectType
,并向它们提供相关数据