Express 具有嵌套对象的GraphQL模式

Express 具有嵌套对象的GraphQL模式,express,graphql,Express,Graphql,如何为这种响应编写模式 { “成人”:假, “背景路径”:“/dnaitaoCh8MftfYEVnprcuYExZp.jpg”, “属于\u集合”:{ “id”:256322, “名称”:“清除集合”, “海报路径”:“/np3c8mtsxlis4vfg0ujlk8lrg9.jpg”, “背景路径”:“/quFWGOA4I5KCTsyDbvLh6PHNZwv.jpg” }, “预算”:13000000, “流派”:[ { “id”:28, “名称”:“操作” }, { “id”:27, “姓名”

如何为这种响应编写模式

{
“成人”:假,
“背景路径”:“/dnaitaoCh8MftfYEVnprcuYExZp.jpg”,
“属于\u集合”:{
“id”:256322,
“名称”:“清除集合”,
“海报路径”:“/np3c8mtsxlis4vfg0ujlk8lrg9.jpg”,
“背景路径”:“/quFWGOA4I5KCTsyDbvLh6PHNZwv.jpg”
},
“预算”:13000000,
“流派”:[
{
“id”:28,
“名称”:“操作”
},
{
“id”:27,
“姓名”:“恐怖”
},
{
“id”:878,
“名称”:“科幻小说”
},
{
“id”:53,
“名称”:“颤栗”
}
]
}

我问了这个问题后不久就明白了。以下是模式:

const MovieType=new GraphQLObjectType({
名称:"电影",,
字段:()=>({
id:{type:GraphQLString},
成人:{type:GraphQLBoolean},
背景_路径:{type:GraphQLString},
属于集合:{type:BelongsToCollection},
预算:{type:GraphQLInt},
概述:{type:GraphQLString},
流行性:{type:GraphQLInt},
海报路径:{type:GraphQLString},
生产公司:{
类型:新GraphQList(CompanyType)
},
类型:{
类型:新GraphQList(GenreType)
},
发布日期:{type:GraphQLString},
标记行:{type:GraphQLString},
标题:{type:GraphQLString},
投票平均:{type:GraphQLInt},
投票计数:{type:GraphQLInt}
})
});
const CompaniesType=新的GraphQLObjectType({
名称:“生产公司”,
字段:{
id:{type:GraphQLInt},
名称:{type:GraphQLString},
logo_路径:{type:GraphQLString},
原始国家:{type:GraphQLString}
}
});
const GenreType=新的GraphQLObjectType({
名称:'流派',
字段:()=>({
id:{type:GraphQLInt},
名称:{type:GraphQLString}
})
})
const BelongsToCollection=新的GraphQLObjectType({
名称:'BelongsToCollection',
字段:()=>({
id:{type:GraphQLInt},
名称:{type:GraphQLString},
海报路径:{type:GraphQLString},
背景_路径:{type:GraphQLString}
})
});
const typeDefs=`
类型属于集合类型{
id:id!
名称:String
海报路径:字符串
路径:字符串
}
类型GenreType{
id:id!
名称:String
}
打字{
成人:布尔型
路径:字符串
属于集合:属于集合类型
预算:整数
流派:[流派类型]!
}
`;