我正在使用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存储在一个简单的字符串数组中?
第1点:在dynamoDB中,你只需要把 "产品 "和 "订单 "类型写在模式中就可以了。 在dynamoDB中,你只需要定义分区键和排序键的数据类型,这些可以是字符串,数字等。对于其他的属性,你不需要定义任何东西。
第2点。 dynamoDB的设计者更倾向于每个应用使用一张表,除非没有多张表就无法管理数据。牢记这一点,你的表可以是这样的。
请遵守。 只有 身份证 又称分区密钥和 Sk 也就是排序键列在这里是固定的,其他所有的列都可以是每个项目的任何东西。这就是DynamoDB的魅力所在。参考 这个 dynamoDB支持的数据类型的文档。