亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 Go API 從動態模型表中返回排序鍵的最大時間戳?

如何使用 Go API 從動態模型表中返回排序鍵的最大時間戳?

Go
米琪卡哇伊 2022-09-19 17:14:24
我有一個這樣的表結構:列   類型氣泡標識    字符串氣泡上次更新  字符串... ...bubbleId是我的主鍵,也是我的排序鍵bubbleLastUpdated省略號(...)表示結構中與此問題無關的其余數據。盡可能使用表達式生成器,應如何生成 QueryInput 對象,以便返回“已更新”的氣泡的最大值?我正在我的查詢輸入對象中使用以下內容:    results, err := d.dynamoClient.Query(&dynamodb.QueryInput{        TableName: aws.String(tableName),        ScanIndexForward: aws.Bool(false),        Limit: aws.Int64(1),    })當然,這會返回一個錯誤,指出請求中必須有一個參數。我對鍵表達式生成器有點熟悉,但我不想實際為這些提供條件。不幸的是,經過大量的搜索,我最終來到了這里。我要么在尋找錯誤的東西,要么錯過了一些簡單的東西。KeyConditionExpression舉個例子是最有幫助的。
查看完整描述

1 回答

?
UYOU

TA貢獻1878條經驗 獲得超4個贊

您所謂的主鍵實際上稱為分區鍵。您必須至少指定分區鍵才能使用 。query


如果您沒有分區鍵,則可以使用 ,但效率低下,應考慮重新設計表或添加 .scanglobal secondary index (gsi)


您可以在查詢中使用分區鍵,如下所示:


    var queryInput = &dynamodb.QueryInput{

        TableName:        aws.String(tableName),

        ScanIndexForward: aws.Bool(false),

        Limit:            aws.Int64(1),

        KeyConditions: map[string]*dynamodb.Condition{

            "bubbleId": {

                ComparisonOperator: aws.String("EQ"),

                AttributeValueList: []*dynamodb.AttributeValue{

                    {

                        S: aws.String("bubbleId"),

                    },

                },

            },

        },

    }


    var resp, err = d.dynamoClient.Query(queryInput)

    if err != nil {

        return nil, err

    }


查看完整回答
反對 回復 2022-09-19
  • 1 回答
  • 0 關注
  • 77 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號