DynamoDB仅检索属性值

时间:2019-03-06 12:51:05

标签: amazon-web-services attributes amazon-dynamodb

我有一个表,其中有userId作为PK和一个名为userToken的属性。

我已经编写了batchGet()函数以返回特定userId的所有userTokens,但是它是这样返回的:

[{userToken:'1234'},    {userToken:'5678'}]

我希望它只返回值,因为我已经知道属性名称是什么: ['1234','5678']

我该怎么做?

        const params = {
        RequestItems: {
            UserTokens: {
                Keys: userIds,
                AttributesToGet: [
                    'userToken'
                ]
        }
        }
    };

    db.batchGet(params, function(err, data) {
        if (err) {
            console.log("Error", err);
        } else {
            console.log(data.Responses);
            sendNotifications(data.Responses);
        }
    });

1 个答案:

答案 0 :(得分:0)

DynamoDB始终返回属性名称和值。
您可以在客户端轻松地对此进行过滤。

val = [  { userToken: '1234' }, { userToken: '5678' } ];
reducer = (accumulator, currentVal) => { 
    accumulator.push(currentVal.userToken);
    return accumulator;
 }

console.log(val.reduce(reducer, []));