簡體   English   中英

DynamoDB:獲取每個數組項的屬性

[英]DynamoDB : Getting attributes of every item of array

我正在嘗試使用主鍵數組BatchGetItem,但問題是BatchGetItem想要的

Keys : [ 
 { 'username' : 'username1'} 
 { 'username' : 'username2'}
]

代替

Keys : [ 'username' : ':someUsernameArray' ]

這是我的Lambda函數的一部分(在Node.js中)

var follower_arr = Array.from(data.Item.followers.values);

var follower_params = {
    RequestItems : {
        USER : { 
            Keys :?,
            ProjectionExpression : "university.#name,full_name,username",
            "ConsistentRead": false,
            "ExpressionAttributeNames": { 
                "#name" : "name" 
             }    
        },
    }
}

docClient.batchGet(follower_params,function(err,data){
    if(err){
        callback(err,null);
    }else{
        callback(null,data);
    }
});

follower_arr值是一個用戶名數組,例如

['jack', 'michael_is_cool', 'mark_me_but', 'brownie_mr_brown']

那么如何獲得由主鍵組成的數組的所有元素的屬性?

您需要將用戶名數組轉換為對象數組,如下所示。 在查詢參數中使用結果數組。

follower_arr.forEach(function (ele) {
    keys.push({ username: ele })
}) 

var follower_params = {
    RequestItems : {
        USER : { 
            Keys :keys   
        },
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM