2016-11-02 4 views
-1

Я использую aws-sdk-go для dynamodb. Мне нужно собрать некоторые предметы из моей БД. Условия фильтрации являются DeviceID: хуг, время> = 10 и время < = 20.Как использовать «МЕЖДУ» в aws-sdk-go Dynamodb QueryInput?

время ключ сортировки для моей БД и DeviceID является первичным ключом. Я понимаю, что для достижения своей цели я должен использовать BETWEEN. Мои Реализации не являются успешными и следующие:

var queryInput = &dynamodb.QueryInput{ 
    TableName: aws.String(dbName), 
    KeyConditions: map[string]*dynamodb.Condition{ 
     "deviceid": { 
      ComparisonOperator: aws.String("EQ"), 
      AttributeValueList: []*dynamodb.AttributeValue{ 
       { 
        S: aws.String("xyz"), 
       }, 
      }, 
     }, 
     "time": { 
      ComparisonOperator: aws.String("BETWEEN"), 
      AttributeValueList: []*dynamodb.AttributeValue{ 
       { 
        N: aws.String("10"), 
        N: aws.String("20"), 
       }, 
      }, 

     }, 
    }, 
} 

Каковы ошибки, которые я здесь сделал?

ответ

1

Значение time следует, как указано ниже: -

"time": { 
      ComparisonOperator: aws.String("BETWEEN"), 
      AttributeValueList: []*dynamodb.AttributeValue{ 
       { 
        N: aws.String("10"),       
       }, 
       { 
        N: aws.String("20"),       
       }, 
      }, 
     },