使用Amplify+GraphQL+DynamoDB对电子商务网站进行数据建模。

问题描述 投票:0回答:1

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

我想知道我应该如何在schema中写 "Product "和 "Order "类型,以便在用户完成购买时能够将productId's写入Order表中的产品数组。

我的schema.graphql文件。

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

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

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

graphql amazon-dynamodb aws-amplify
1个回答
1
投票

第1点:在dynamoDB中,你只需要把 "产品 "和 "订单 "类型写在模式中就可以了。 在dynamoDB中,你只需要定义分区键和排序键的数据类型,这些可以是字符串,数字等。对于其他的属性,你不需要定义任何东西。

第2点。 dynamoDB的设计者更倾向于每个应用使用一张表,除非没有多张表就无法管理数据。牢记这一点,你的表可以是这样的。

enter image description here

请遵守。 只有 身份证 又称分区密钥和 Sk 也就是排序键列在这里是固定的,其他所有的列都可以是每个项目的任何东西。这就是DynamoDB的魅力所在。参考 这个 dynamoDB支持的数据类型的文档。

© www.soinside.com 2019 - 2024. All rights reserved.