如何更新我的放大 graphql 模型的一部分?

How to update part of my amplify graphql model?

我是 Aws Amplify 和 GraphQL 的新手,我正在尝试找到处理以下问题的最佳方法:

我希望能够在前端编辑我的常见问题解答。前端从后端获取数据,我在前端编辑了一个字段并保存,它应该存储在后端

我创建了一个简单的放大 graphql 模式:

type FAQ @model(timestamps: null) {
  id: ID!
  sectionTitle: String
  questionAndAnswer: [QuestionAndAnswer!]!
}

type QuestionAndAnswer {
  id: ID!
  question: String
  answer: String
}

然后我对其进行填充,使其包含以下数据:

{
  "data": {
    "listFAQS": {
      "items": [
        {
          "sectionTitle": "Title2",
          "id": "22735682-2bab-4695-b93e-1e50642d4654",
          "questionAndAnswer": [
            {
              "answer": "answer4",
              "id": "4",
              "question": "question4"
            },
            {
              "answer": "answer5",
              "id": "5",
              "question": "question5"
            },
            {
              "answer": "answer6",
              "id": "6",
              "question": "question6"
            }
          ]
        },
        {
          "sectionTitle": "Title1",
          "id": "21be8234-69f2-47fe-b942-d3e655197c70",
          "questionAndAnswer": [
            {
              "answer": "answer1",
              "id": "1",
              "question": "question1"
            },
            {
              "answer": "answer2",
              "id": "2",
              "question": "question2"
            },
            {
              "answer": "answer3",
              "id": "3",
              "question": "question3"
            }
          ]
        }
      ]
    }
  }
}

有没有一种简单的方法可以只更改问题“question4”而不必发送整个 FAQ“行”?

当我试验它时,似乎整个数组都被重置了,只保存了新数据。 FAQ 和 QuestionAndAnswer 是否都应该是一个@model,我将它们与@connection 连接起来并根据需要分别更新它们?

以下似乎是一种简单的方法,因为如果需要,您可以只更新“question4”,方法是使用它自己的唯一 ID 和 GraphQL 突变。

type FAQ @model(timestamps: null) {
  id: ID!
  sectionTitle: String
  questionAndAnswer: [QuestionAndAnswer!]!
}

type QuestionAndAnswer @model {
  id: ID!
  question: Question
  answer: Answer
}

type Question @model {
  id: ID!
  question: String
}

type Answer @model {
  id: ID!
  answer: String
}

我没有包括@connections(它们应该在 QuestionAndAnswer 模型中),但是 'Yes' 将是“FAQ 和 QuestionAndAnswer 都应该是一个 @model 吗?我将它们与 @connection 和根据需要分别更新它们?”。