Данные не обновляются через мутацию 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 обновляется.

0 ответов

Другие вопросы по тегам