簡體   English   中英

如何為嵌套的 mongodb 文檔編寫 GraphQL 模式、查詢和變異

[英]How to write GraphQL schema, query and mutation for nested mongodb document

下面是我的 mongodb 文檔

{
    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,查詢和突變。 我正在使用 Apollo Server for Express。 我是 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 生成架構,則可能需要重構它

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM