gpt4 book ai didi

amazon-dynamodb - DynamoDB ProjectionExpression 检索列表中所有项目的某些属性

转载 作者:行者123 更新时间:2023-12-05 07:09:26 26 4
gpt4 key购买 nike

在 DynamoDB 中,我有 Player 表,其中包含字符的 list。每个字符依次是 DynamoDB 术语中的 map。角色有一些属性,如 levelexp 和许多其他属性。我现在的具体任务是只选择某些属性,而不是所有属性,而是选择所有字符,而不是只选择一个。我已经了解如何从单个字符中获取这些属性。我正在使用 node.js,所以我的参数如下:

const params = {
'TableName': 'Player',
'Key': { 'APIKey': 'pd-iac3G' },
'ProjectionExpression': 'characters[0].#level, characters[0].exp',
'ExpressionAttributeNames': { '#level': 'level' }
};

(level 是保留关键字,这就是它被提取到 ExpressionAttributeNames 中的原因)。

但是为了获取所有字符的这些属性,我想写这样的东西:

'ProjectionExpression': 'characters.#level, characters.exp',

或者也许

'ProjectionExpression': 'characters[*].#level, characters[*].exp',

但我找不到任何语法,谷歌搜索也无济于事,我开始怀疑它是否可能。

最佳答案

这实际上是一个有趣的问题,我从来没有需要做这样的事情。甚至会争辩说,这可以被视为一个危险信号,表明它不是 dynamo 的最佳数据模型。

我会考虑将数组的对象提取到另一个表中,或者甚至将对象放在同一个表中,就像他们建议的单表设计一样 https://www.alexdebrie.com/posts/dynamodb-single-table/

如果这是您可以根据我所知道的仅在代码中过滤数组和过滤属性而无需依赖 dynamo 来完成的事情。

关于amazon-dynamodb - DynamoDB ProjectionExpression 检索列表中所有项目的某些属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61559055/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com