使用不是 NodeJs 中的 pk 或 sk 的数字数组查询 DynamoDB?

问题描述 投票:0回答:1

这是我的 API 请求正文(数字数组):

{
        "userIds": [10,11,12, 20]
}

DB中的userIds是数字类型,它不是主键或辅助键。 我需要查询 DynamoDB 并在 NodeJs 中获取这些用户的详细信息。

我尝试过:

const keys: { userIds: number }[] = userIds.map(id => ({ userID: id }))
        const params: BatchGetCommandInput = {
           RequestItems: {
            [this.tableName]: {
                Keys: keys,
                ProjectionExpression: projectionExpression
            }
           }
        };
return ResultAsync.fromPromise(this.dynamoDocumentClient.batchGet(params),

我认为batchGet需要传递密钥,所以在这种情况下不起作用!

javascript node.js amazon-dynamodb dynamodb-queries amazon-dynamodb-index
1个回答
0
投票

最好创建一个索引并将该属性作为键以提高效率。

但是在您当前的设置中,您需要对所需的值使用带有 FilterExpression 的 Scan ,请预先警告,它对于少量数据来说看起来快速高效,但它的扩展性不佳。

© www.soinside.com 2019 - 2024. All rights reserved.