如何将多个键值存储在一个字段的数组中

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] 的部分不应是IDStringInt 等类型中的任何一个,如图所示和描述的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 数组字段?

如何在存储为字符串的 bigquery 字段中取消嵌套多个数组?

如何在 Flutter 中创建和读取一组键值对(映射)以在 Firestore 中存储数据

如何在一列中存储数组或多个值

如何在 PHP 中遍历数组并获取键值

iOS:如何在一个数组中的多个字典中分隔键值?