graphql - 使用键以外的值执行获取查询
问题描述
我是否可以使用 get 查询来查询主键以外的值?因为似乎我只能传入 id 列,但是我无法使用 id 列以外的列执行 get 查询。或者我可以使用过滤器之类的普通列表查询来做到这一点吗?谢谢你的帮助!
解决方案
是的,您可以通过 AppSync 发出任何 DynamoDB 查询。这提供了一个很好的介绍,涵盖了 PutItem、UpdateItem 和 GetItem https://docs.aws.amazon.com/appsync/latest/devguide/tutorial-dynamodb-resolvers.html。如果您需要通过一个键获取多个值,那么您应该使用 DynamoDB 查询操作https://docs.aws.amazon.com/appsync/latest/devguide/resolver-mapping-template-reference-dynamodb.html#aws- appsync-resolver-mapping-template-reference-dynamodb-query。
使用 DynamoDB 时,您需要将访问模式烘焙到 DynamoDB 表和二级索引的关键架构中。例如,如果您想通过“email”获取记录,那么您应该创建一个哈希键为“email”的表。然后,您将能够通过“电子邮件”执行 GetItem 操作。如果您需要通过电子邮件查询并按日期对记录进行排序,那么您需要一个哈希键为“电子邮件”且排序键为“日期”的表。ETC..
您可以创建二级索引,如果您想获得更高级的功能,请创建复合索引值和重载索引,以针对您的访问模式优化您的 DynamoDB 表。查看 DynamoDB 文档以了解更多信息https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-indexes.html。
推荐阅读
- vue.js - Vue watcher 恢复旧值?
- bots - 如何通过 Viber bot 发送 markdown 或 HTML 消息
- python - 映射列值时忽略缺失值
- php - WooCommerce 产品 get_stock_quantity() 方法返回 null
- kubernetes - Istio 1.3.5 出现问题并使用 kafa 兼容性与 azure 事件中心通信
- c++ - 使用 hidapi 的击键事件
- database - 获取每个分片的索引大小?
- python - JSON在Python中打印特定值
- ios - 在 iOS 上使用 Vidyo 和 Callkit - 音频问题
- javascript - 将文本转换为内部链接以获取循环内的特定元素