gpt4 book ai didi

amazon-web-services - 发布 AWS Amplify GraphQL 突变时如何避免在数组中创建重复项

转载 作者:行者123 更新时间:2023-12-04 02:32:37 28 4
gpt4 key购买 nike

前言:我是 GraphQL 和 Amplify 的新手。

我有一个包含两个数组的用户对象,一个名为 preferred_genres,另一个名为 preferred_characters。我有一个个人资料页面,用户可以在其中编辑他们的个人资料并将项目添加到这些数组。

AWS Amplify 提供的更新突变似乎只是向数组添加元素,从不删除它们。如果在我的 UI 上,我从列表中删除了一个项目,然后提交更新突变,则该项目不会从我的后端删除。如果我将一个项目添加到数组中,该项目将添加到后端,但我最终也会为那些已经在后端的项目添加重复值。

我想做的是用我从前端提交的数据覆盖后端的数组。我错过了一些明显的东西吗?在 GraphQL 中是否有更合适的方法来实现这一点?

架构

type User @model {
id: ID!
...
preferred_characters: [Character]
preferred_genres: [Genre]
...
}

Screenshot of Profile showing duplicate items in array Screenshot of database on backend showing duplicate items in array

最佳答案

DataStore 的冲突解决文档:

enter image description here

更新冲突解决方案:

  1. 一种方法是将其更新为 documentation建议(我这样做的方式)。

enter image description here

  1. 我检查了哪些文件发生了变化,唯一重要的更新 key 可以在 amplify/backend/api/<yourApi>/transform.conf.json 中找到。

来自:

enter image description here

收件人:

enter image description here

关于amazon-web-services - 发布 AWS Amplify GraphQL 突变时如何避免在数组中创建重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63305156/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com