簡體   English   中英

使用 dynamodb SET 到 append 到一個字符串集

[英]using dynamodb SET to append to a string set

我查看了最近的帖子,但沒有任何內容對我有用。 我的 DynamoDB 表中有一個名為“friendRequests”的字符串集,我正在嘗試 append 一個元素。 但是,當我嘗試使用這些參數調用 db.updateItem 時,我不斷收到很多錯誤。 這是我當前的代碼,錯誤與 ExpressionAttributeValues 有關,但我可能花了一個小時更改語法但無濟於事。

    var params = {
    TableName: "users",
    Key: { "username": { "S": addFriendInfo.friendUsername } },
    UpdateExpression: "SET friendRequests = list_append(friendRequests, :newFriend)",
    ExpressionAttributeValues: {
        ':newFriend': { "SS" : [addFriendInfo.username] }
    }
}

那是我上面的代碼。 addFriendInfo.username / friendUsername 都只是字符串。 這目前給了我一個“無效的 UpdateExpression:運算符或 function 的操作數類型不正確; 運算符或 function:list_append,操作數類型:SS'。 我嘗試了很多東西。 誰能指出我正確的方向來修復這個該死的語法?

正如DynamoDB 文檔所解釋的那樣,DynamoDB 有兩種相似但不同的類型——列表集合 列表是任何類型項目的有序列表,而集合是相同類型項目的非空、無序集合。 您使用的“SS”類型是一組“字符串”。 這與“列表”不同,您不能在集合上使用list_append ,正如錯誤消息告訴您的那樣。

要將元素添加到集合中(或者創建一個新集合,如果它尚不存在)您可以使用ADD操作,例如ADD friendRequests:newFriend

暫無
暫無

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

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