如何编写嵌套mongodb文档的GraphQL模式、查询和变异
下面是我的mongodb文档如何编写嵌套mongodb文档的GraphQL模式、查询和变异,graphql,apollo-server,Graphql,Apollo Server,下面是我的mongodb文档 { field1: "Value 1", field2: 123 field3: { actual: { startAt: "2007-12-03T10:15:30.000Z", endAt: "2007-12-03T10:15:30.000Z" }, planned: {
{
field1: "Value 1",
field2: 123
field3: {
actual: {
startAt: "2007-12-03T10:15:30.000Z",
endAt: "2007-12-03T10:15:30.000Z"
},
planned: {
startAt: "2007-12-03T10:15:30.000Z",
endAt: "2007-12-03T10:15:30.000Z"
}
},
field4: {
actual: {
startAt: "2007-12-03T10:15:30.000Z",
endAt: "2007-12-03T10:15:30.000Z"
},
planned: {
startAt: "2007-12-03T10:15:30.000Z",
endAt: "2007-12-03T10:15:30.000Z"
}
},
field5: {
actual: {
startAt: "2007-12-03T10:15:30.000Z",
endAt: "2007-12-03T10:15:30.000Z"
},
planned: {
startAt: "2007-12-03T10:15:30.000Z",
endAt: "2007-12-03T10:15:30.000Z"
}
}
}
我想为上述文档编写typeDef、查询和变异。我正在使用阿波罗快递服务器。我是graphql新手,所以对如何编写优化的graphql类型并不感到困惑,因为文档字段(field3、field4、field5)是嵌套对象这可能会对您有所帮助,但这取决于您的解析程序:
type Query {
fields:[Field]
}
type Mutation {
createField(input:FieldInput!):Field
}
type Field {
actual:Time
planned:Time
}
input FieldInput {
actual:TimeInput
planned:TimeInput
}
type Time {
startAt:String
endAt:String
}
input TimeInput {
startAt:String
endAt:String
}
- 请注意,这是为.graphql文件创建的,因此如果您只想使用javascript生成模式,可能需要对其进行重构