【问题标题】:Data modelling for ecommerce website using Amplify + GraphQL + DynamoDB使用 Amplify + GraphQL + DynamoDB 对电子商务网站进行数据建模
【发布时间】:2020-08-22 06:54:05
【问题描述】:

我正在使用 AWS 的 Amplify 构建一个使用 React 作为前端的小型电子商务项目。

我想知道我应该如何在架构中编写“产品”和“订单”类型,以便在用户完成购买时能够将 productId 写入 Order 表中的产品数组。

我的 schema.graphql 文件:

type Product @model {
  id: ID!
  name: String!
  price: Int!
  category: String!
  images: [String]!
}

type Order @model {
  id: ID!
  products: [Product] @connection
}

我的问题是关于最后一行,我需要在那里定义 [Product] 连接还是可以使用 [String] 将产品 ID 存储在一个简单的字符串数组中?

【问题讨论】:

  • 如果您希望在订单和产品之间建立一对多的连接,那么您的架构是正确的

标签: graphql amazon-dynamodb aws-amplify


【解决方案1】:

要点1:在dynamoDB中,你只需要定义你的partition key和sort key的数据类型,可以是字符串,数字等。对于所有其他属性,你不需要'不需要定义任何东西。

第 2 点: dynamoDB 设计人员更喜欢每个应用程序使用一个表,除非没有多个表就无法管理数据。记住这一点,你的桌子可以是这样的。

请注意:这里只有 Id aka 分区键和 Sk aka 排序键列是固定的,所有其他列可以是每个项目的任何内容.这就是 DynamoDB 的美妙之处。 dynamoDB 支持的数据类型请参考this 文档。

【讨论】:

猜你喜欢
  • 2019-06-17
  • 2016-11-10
  • 1970-01-01
  • 2016-03-31
  • 2017-09-07
  • 2017-02-02
  • 1970-01-01
  • 2011-06-11
  • 1970-01-01
相关资源
最近更新 更多