Данные не обновляются через мутацию graphql в Dynamodb, только обновление _version
Я использую команду ampify:
amplify add api
создать Graphql api.
моя модель данных:
type Picture @model {
id: ID!
title: String!
description: String
owner: String!
filepath: String!
likecount: Int!
}
моя мутация:
export const updatePicture = /* GraphQL */ `
mutation UpdatePicture(
$input: UpdatePictureInput!
$condition: ModelPictureConditionInput
) {
updatePicture(input: $input, condition: $condition) {
id
title
description
owner
filepath
likecount
_version
_deleted
_lastChangedAt
createdAt
updatedAt
}
}
`;
я использую
const addFavorite = async ()=>{
const picdata = {};
try {
console.log(attr);
picdata.description = attr.description;
picdata.filepath = attr.filepath;
picdata.id = attr.id;
picdata.owner = attr.owner;
picdata.title = attr.title+" test";
picdata.likecount = attr.likecount+1;
console.log(picdata);
const picupdate = await API.graphql(graphqlOperation(updatePicture, {input: picdata}));
//const picupdate = await API.graphql({ query: updatePicture, variables:{input: picdata}});
console.log(picupdate);
attr.likecount = picupdate.data.likecount;
setAttr(attr);
}catch(error){
console.log('error on adding Like to pic', error);
}
}
чтобы обновить запись Dynamodb:
вывод консоли:
{
"description": "",
"filepath": "mydog_b036332f-bb91-45a3-969c-b2fbbc451683.jpeg",
"id": "7f3d03c1-7249-4657-b2af-83a5c13e3f22",
"owner": "b036332f-bb91-45a3-969c-b2fbbc451683",
"title": "mydog test",
"likecount": 4
}
{
"data": {
"updatePicture": {
"id": "7f3d03c1-7249-4657-b2af-83a5c13e3f22",
"title": "mydog",
"description": "",
"owner": "b036332f-bb91-45a3-969c-b2fbbc451683",
"filepath": "mydog_b036332f-bb91-45a3-969c-b2fbbc451683.jpeg",
"likecount": 3,
"_version": 25,
"_deleted": null,
"_lastChangedAt": 1616707442272,
"createdAt": "2021-03-25T12:20:46.095Z",
"updatedAt": "2021-03-25T12:20:46.095Z"
}
}
}
но после обновления:
вы можете видеть, что я пытаюсь обновить, используя likecount = 4, в то время как результат по-прежнему похож наcount = 3, при этом я пытаюсь изменить заголовок, но получаю результат без изменений, хотя _version обновляется.