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

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

在 Golang 中查詢 DynamoDB 的二級索引

在 Golang 中查詢 DynamoDB 的二級索引

Go
鴻蒙傳說 2023-06-26 15:28:26
我的主鍵是一個名為“id”的字段我已在表中的“group_number”字段上添加了二級索引我通過二級索引查詢,如下所示:// Query the secondary indexqueryInput := &dynamodb.QueryInput{    TableName: aws.String(c.GetDynamoDBTableName()),    KeyConditions: map[string]*dynamodb.Condition{        "group_number": {            ComparisonOperator: aws.String("EQ"),            AttributeValueList: []*dynamodb.AttributeValue{                {                    S: aws.String(c.GroupNumber),                },            },        },    },}然而; 我收到錯誤“validationException:查詢條件缺少關鍵架構元素:id”DynamoDB 是否只允許查詢主鍵?我的印象是,您使用“GetItem”作為主鍵,因為如果您使用主鍵,則只能返回一條記錄。要通過二級索引搜索,請使用“查詢”,要通過非索引鍵搜索,請使用“掃描”。請讓我知道我在這里做錯了什么。
查看完整描述

2 回答

?
慕標5832272

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

IndexName除了TableName之外,在創建QueryInput來查詢索引時還需要指定該屬性。


// The name of an index to query. This index can be any local secondary index

// or global secondary index on the table. Note that if you use the IndexName

// parameter, you must also provide TableName.

IndexName *string `min:"3" type:"string"`


查看完整回答
反對 回復 2023-06-26
?
Cats萌萌

TA貢獻1805條經驗 獲得超9個贊

var queryInput, err2 = svc.Query(&dynamodb.QueryInput{

        TableName: aws.String(tableName),

        IndexName: aws.String(index_name),

        KeyConditions: map[string]*dynamodb.Condition{

            "Phone": {

                ComparisonOperator: aws.String("EQ"),

                AttributeValueList: []*dynamodb.AttributeValue{

                    {

                        S: aws.String(phone_no),

                    },

                },

            },

        },

    })


查看完整回答
反對 回復 2023-06-26
  • 2 回答
  • 0 關注
  • 224 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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