나는 여기서 무슨 일이 일어나는지 이해하지 못한다.
이것은 내 스키마입니다.
type MonthResume @model @auth(rules: [{allow: owner, identityClaim: "sub"}]){
id: ID!
incomes: Float!
spendingByCategory: [Category]
}
type Category @model @auth(rules: [{allow: owner, identityClaim: "sub"}]){
id: ID!
name: String!
amount: Float!
}
이것은 Amplify가 제공하는 자동 생성 업데이트 돌연변이입니다.
export const updateMonthResume = /* GraphQL */ `
mutation UpdateMonthResume(
$input: UpdateMonthResumeInput!
$condition: ModelMonthResumeConditionInput
) {
updateMonthResume(input: $input, condition: $condition) {
id
incomes
spendingByCategory {
id
name
amount
createdAt
updatedAt
owner
}
createdAt
updatedAt
owner
}
}
`;
그리고 이것은 내 의견입니다.
{
"input": {
"id": "d7f-ee2971fd3ae5",
"incomes": 220,
"spendingByCategory": null,
"createdAt": "2020-08-15T17:06:22.192Z",
"updatedAt": "2020-08-15T17:06:22.192Z",
"owner": "subId"
}
}
나는 소득 금액을 업데이트하고 싶습니다. 그러한 이유 때문에 이런 식으로 API를 호출합니다.
const input = {
incomes: 0,
}
await API.graphql(graphqlOperation(updateMonthResume, input));
그리고 오류가 발생했습니다.
이해가 안 돼요, 수입보다 더 많이 업데이트하고 싶지 않습니다. 입력 내용을 변경해야합니까? 하지만 objetc spendByCategory에 대해 null (Amplify가 자동으로 수행함)을 보냈습니다.
input CreateMonthResumeInput {
id: ID
incomes: Float!
}
의견의 토론 요약 / 지식 축적 :
입력 개체는
UpdateMonthResumeInput
유형에 정의 된 속성 만 가질 수 있습니다 .
- 더 이상은 없어
- 더 적을 수 있음 (null 허용 / 필요하지 않은 경우)
- ...하지만 모두 필요
일반적으로 다음과 같은 차이점이 있습니다.
- 입력 유형 (변이에 입력 / 매개 변수로 사용됨)
- ... 및 반환 유형 (쿼리 및 변형에 대한 결과 유형)
... 및 관련 질문 / 답변 :
이 입력에 속성이 표시되지 않는 이유는 무엇
spendingByCategory
입니까?
그것은 the MonthResume body
(자신의 유형 필드 / 속성)이 아니기 때문에 -관계에서 온 것입니다 ... 사용자를 만든 다음 사용자를 추가하는 것과 같이-친구와 함께 사용자를 한 번에 만들 수 없음-중첩 된 변형이 지원되지 않습니다.
관계없이 객체 배열을 추가하려면 무엇을 지정해야합니까?
spendingByCategory: [Category!]
Object 유형을 찾지 못했기 때문에 설정했습니다.
모든 [query / mutation] 깊이 수준 은 graphql에서 정의되고 분리 된 유형 (및 유형 간의 관계) 이어야 합니다. 복잡한 필드 / 속성에 대한 유형을 정의하지 않고 ' customJSON 유형 '(직렬화 가능하거나 알 수없는 유형 콘텐츠)을 사용할 수 있습니다 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다