如何解决使用 Amplify 的 @key 指令创建单个 LSI
我正在尝试使用 @key
指令在 DynamoDB 中创建索引,但我得到了一些我认为(?)可以被视为一种奇怪行为的东西。
片段:
type TruckStock
@model(timestamps:{createdAt: "createdAt",updatedAt: "updatedAt"})
@key(fields: ["truckId","variantId"])
@key(name: "byProduct",fields: ["truckId","productId"],queryField: "listTruckStockByProduct")
@key(name: "byTruckId",fields: ["truckId"],queryField: "listTruckStockByTruck")
{
truckId: ID!
variantId: ID!
productId: ID!
quantity: Int!
}
我正在努力实现以下目标:
-
truckId
将是哈希值,而variantId
将是我的范围值。 -
productId
将成为 LSI。 - 可以获取特定
truckId
的所有条目(无需查询特定 productId/variantId)。
目前,Amplify 创建了 2 个 GSI - 一个用于 truckId
,另一个用于 {hash: truckId,range: productId}
。
我做错了吗?有没有更好的方法来做到这一点?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。