如何将多个键值存储在一个字段的数组中
Posted
技术标签:
【中文标题】如何将多个键值存储在一个字段的数组中【英文标题】:How to store multiple key values in an Array on one field 【发布时间】:2021-01-29 09:20:31 【问题描述】:我有一个足球队模型,如图所示
type Team @model
id: ID!
name: String!
faId: ID!
seasonID: ID!
seasons: [seasonID] @connection(fields: ["seasonID"])
球队将参加多个赛季。我想将数据存储在一个数组中
seasonID: [ID]!
然后在获取数据时,我可以返回团队参与的所有赛季。
Dynamodb 可以做到这一点吗?当我尝试这样说时,它会说:
InvalidDirectiveError: All fields provided to an @connection must be non-null scalar or enum fields.
【问题讨论】:
【参考方案1】:InvalidDirectiveError: All fields provided to an @connection must be non-null scalar or enum fields.
表示您拥有[seasonID]
的部分不应是ID
、String
、Int
等类型中的任何一个,如图所示和描述的here
通过创建一个名为Season
的单独模型来实现基数一对多1..*
的连接。例如:
# Separate model for Season
type Season @model
id: ID!
name: String!
type Team @model
id: ID!
name: String!
faId: ID!
seasonID: ID!
seasons: [Season] @connection(fields: ["seasonID"])
你可以看到更多你可以做的例子here
【讨论】:
这似乎不起作用。在尝试创建团队时,seasonID 仍然只是一个需要 ID 的字段。以上是关于如何将多个键值存储在一个字段的数组中的主要内容,如果未能解决你的问题,请参考以下文章
如何在存储为字符串的 bigquery 字段中取消嵌套多个数组?