微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 Amplify 的 @key 指令创建单个 LSI

如何解决使用 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 举报,一经查实,本站将立刻删除。