【问题标题】:How to use "BETWEEN" in aws-sdk-go Dynamodb QueryInput?如何在 aws-sdk-go Dynamodb QueryInput 中使用“BETWEEN”?
【发布时间】:2017-03-15 13:07:22
【问题描述】:

我将 aws-sdk-go 用于 dynamodb。我需要从我的数据库中收集一些项目。过滤条件为deviceid: xyz, time >= 10 and time

time 是我的数据库的排序键,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"),
                },
            },

        },
    },
}

我在这里犯了什么错误?

【问题讨论】:

    标签: amazon-web-services go amazon-dynamodb aws-sdk aws-sdk-go


    【解决方案1】:

    time 的值应如下所述:-

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-30
      • 1970-01-01
      • 2018-10-26
      • 1970-01-01
      • 2015-10-31
      • 2017-05-20
      • 1970-01-01
      • 2020-08-17
      相关资源
      最近更新 更多